国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

用DeepSeek寫VBA,3分鐘白嫖同事1杯咖啡,難道這才是正確用法?

0
分享至

之前給大家分享了DeepSeek的使用方法,有粉絲反饋用它來寫VBA代碼真的太方便了,白嫖同事一杯咖啡,3分鐘就搞定了!

其實使用DeepSeek來寫代碼非常的簡單,我們只需要清楚的告訴DeepSeek你想要做什么,你的需求是什么,想要實現(xiàn)什么樣的效果,總之就是提問的方法很重,要學會問問題,才能解決問題,也是需要稍微懂點Excel的

一、DeepSeek代碼生成

如下圖就是我們對DeepSeek的提問,大家可以仿照我的問題方式來做提問

目的:可否幫我使用VBA宏編寫一個自定義函數(shù),函數(shù)的名稱為SumColor

實現(xiàn)的效果:要求能實現(xiàn)根據(jù)單元格背景色求和

函數(shù)參數(shù)要求:函數(shù)參數(shù)有2個,第一參數(shù)選中帶有背景色的1個單元格,將單元格的背景色作為求和的條件,第二參數(shù)需要選擇帶有背景色的數(shù)據(jù)區(qū)域 對這個區(qū)域根據(jù)顏色求和

以上就是我的提問方式,當然如果你有更多的要求,盡量描述詳細,要求越詳細DeepSeek給出的結果越準確,

DeepSeek給出了如下代碼,代碼也是完成正確的,大家可以試一下

Function SumColor(rngCriteria As Range, rngSum As Range) As Double

Dim criteriaColor As Long

Dim cell As Range

Dim totalSum As Double

If rngCriteria.Count > 1 Then

SumColor = CVErr(xlErrValue)

Exit Function

End If

criteriaColor = rngCriteria.Interior.Color

totalSum = 0

For Each cell In rngSum

If cell.Interior.Color = criteriaColor Then

If IsNumeric(cell.Value) Then

totalSum = totalSum + cell.Value

End If

End If

Next cell

SumColor = totalSum

End Function

二、使用方式

想要使用VBA代碼,需要在【開發(fā)工具】把代碼粘貼到Excel的VB編輯器中的操作步驟如下

點擊【開發(fā)工具】找到【Visual Basic】然后在左側點擊空白的區(qū)域,點擊鼠標右鍵找到【插入】選擇【模塊】在新建的模塊中粘貼代碼即可

如果你是自定義的函數(shù),就直接寫等于號,填寫函數(shù)名稱

如果你是自定義的宏程序,就需要在【發(fā)開工具】中點擊【宏】找到宏名稱來運行宏

跟大家分享幾個常用代碼,也別找AI來一個一個問了,直接復制粘貼就能用啦

三、自動生成目錄

這個代碼可以實現(xiàn)自動生成目錄,并且在每個工作表的坐上方都添加一個返回目錄的按鈕

Sub CreateWorksheetIndex()

Dim ws As Worksheet

Dim indexSheet As Worksheet

Dim i As Integer

Dim shp As Shape

Dim hyperlinkAddr As String

On Error Resume Next

Set indexSheet = Worksheets("目錄")

If indexSheet Is Nothing Then

Set indexSheet = ThisWorkbook.Sheets.Add(Before:=ThisWorkbook.Sheets(1))

indexSheet.Name = "目錄"

End If

On Error GoTo 0

indexSheet.Cells.ClearContents

indexSheet.Cells(1, 1).Value = "工作表目錄"

i = 2

For Each ws In ThisWorkbook.Worksheets

If ws.Name <> indexSheet.Name Then

indexSheet.Hyperlinks.Add Anchor:=indexSheet.Cells(i, 1), Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name

Set shp = ws.Shapes.AddShape(msoShapeRectangle, 10, 10, 80, 20)

shp.TextFrame.Characters.Text = "返回目錄"

hyperlinkAddr = "'" & indexSheet.Name & "'!A1"

ws.Hyperlinks.Add Anchor:=shp, Address:="", SubAddress:=hyperlinkAddr

i = i + 1

End If

Next ws

End Sub

四、圖片批量插入Excel

這個代碼可以將文件夾中的圖片提取名稱并且批量的插入到Excel表格中,只需要更改代碼中的

C:\Users\yh\Desktop\演示圖片\

替換為你的文件地址即可

Sub InsertPicturesAndNames()

Dim folderPath As String

Dim fileName As String

Dim ws As Worksheet

Dim rowIndex As Long

Dim pic As Picture

Dim namePart As String

folderPath = "C:\Users\yh\Desktop\演示圖片\"

If Dir(folderPath, vbDirectory) = "" Then

MsgBox "指定的文件夾不存在,請檢查路徑。"

Exit Sub

End If

Set ws = ActiveSheet

rowIndex = 1

fileName = Dir(folderPath & "*.jpg")

Do While fileName <> ""

namePart = Left(fileName, InStrRev(fileName, ".") - 1)

ws.Cells(rowIndex, 1).Value = namePart

Set pic = ws.Pictures.Insert(folderPath & fileName)

With pic

.Left = ws.Cells(rowIndex, 2).Left

.Top = ws.Cells(rowIndex, 2).Top

.Height = 40

.Width = 40

End With

ws.Rows(rowIndex).RowHeight = pic.Height

ws.Columns(2).ColumnWidth = pic.Width / 20

rowIndex = rowIndex + 1

fileName = Dir

Loop

fileName = Dir(folderPath & "*.png")

Do While fileName <> ""

namePart = Left(fileName, InStrRev(fileName, ".") - 1)

ws.Cells(rowIndex, 1).Value = namePart

Set pic = ws.Pictures.Insert(folderPath & fileName)

With pic

.Left = ws.Cells(rowIndex, 2).Left

.Top = ws.Cells(rowIndex, 2).Top

.Height = 40

.Width = 40

End With

ws.Rows(rowIndex).RowHeight = pic.Height

ws.Columns(2).ColumnWidth = pic.Width / 20

rowIndex = rowIndex + 1

fileName = Dir

Loop

fileName = Dir(folderPath & "*.gif")

Do While fileName <> ""

namePart = Left(fileName, InStrRev(fileName, ".") - 1)

ws.Cells(rowIndex, 1).Value = namePart

Set pic = ws.Pictures.Insert(folderPath & fileName)

With pic

.Left = ws.Cells(rowIndex, 2).Left

.Top = ws.Cells(rowIndex, 2).Top

.Height = 40

.Width = 40

End With

ws.Rows(rowIndex).RowHeight = pic.Height

ws.Columns(2).ColumnWidth = pic.Width / 20

rowIndex = rowIndex + 1

fileName = Dir

Loop

MsgBox "圖片和姓名插入完成,行高和列寬已調整。"

End Sub

五、根據(jù)顏色計數(shù)

這個是自定義了一個名稱為CountColor的函數(shù),用于根據(jù)單元格統(tǒng)計顏色,參數(shù)有2個,第一參數(shù)設置為箱套統(tǒng)計背景色的單元格,第二參數(shù)為統(tǒng)計的區(qū)域

Function CountColor(rngCriteria As Range, rngSum As Range) As Long

Dim criteriaColor As Long

Dim cell As Range

Dim countResult As Long

If rngCriteria.Count > 1 Then

CountColor = CVErr(xlErrValue)

Exit Function

End If

criteriaColor = rngCriteria.Interior.Color

countResult = 0

For Each cell In rngSum

If cell.Interior.Color = criteriaColor Then

countResult = countResult + 1

End If

Next cell

CountColor = countResult

End Function

六、數(shù)字轉金額大寫

這個是自定義了一個名稱為DXZH的函數(shù),參數(shù)只有一個,就是需要轉換的單元格,直接粘貼代碼使用即可

Function DXZH(ByVal MyNumber)

Dim Yuan As String

Dim Jiao As String

Dim Fen As String

Dim Temp As String

Dim DecimalPlace As Integer

Dim Count As Integer

Dim DigitArr As Variant

Dim UnitArr As Variant

Dim StrNumber As String

DigitArr = Array("零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖")

UnitArr = Array("", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟")

If MyNumber < 0 Then

DXZH = "負"

MyNumber = -MyNumber

Else

DXZH = ""

End If

StrNumber = Trim(Str(MyNumber))

DecimalPlace = InStr(StrNumber, ".")

If DecimalPlace > 0 Then

Yuan = Left(StrNumber, DecimalPlace - 1)

Jiao = Mid(StrNumber, DecimalPlace + 1, 1)

Fen = Mid(StrNumber, DecimalPlace + 2, 1)

Else

Yuan = StrNumber

Jiao = "0"

Fen = "0"

End If

If Val(Yuan) > 0 Then

Temp = ""

Count = 1

For i = Len(Yuan) To 1 Step -1

Temp = DigitArr(Val(Mid(Yuan, i, 1))) & UnitArr(Count - 1) & Temp

Count = Count + 1

Next i

Do While InStr(Temp, "零拾") > 0

Temp = Replace(Temp, "零拾", "零")

Loop

Do While InStr(Temp, "零佰") > 0

Temp = Replace(Temp, "零佰", "零")

Loop

Do While InStr(Temp, "零仟") > 0

Temp = Replace(Temp, "零仟", "零")

Loop

Do While InStr(Temp, "零萬") > 0

Temp = Replace(Temp, "零萬", "萬")

Loop

Do While InStr(Temp, "零億") > 0

Temp = Replace(Temp, "零億", "億")

Loop

Do While InStr(Temp, "零零") > 0

Temp = Replace(Temp, "零零", "零")

Loop

Do While Right(Temp, 1) = "零"

Temp = Left(Temp, Len(Temp) - 1)

Loop

If Temp <> "" Then

DXZH = DXZH & Temp & "元"

End If

End If

If Val(Jiao) > 0 Then

DXZH = DXZH & DigitArr(Val(Jiao)) & "角"

ElseIf Val(Fen) > 0 Then

DXZH = DXZH & "零"

End If

If Val(Fen) > 0 Then

DXZH = DXZH & DigitArr(Val(Fen)) & "分"

ElseIf DXZH <> "" Then

DXZH = DXZH & "整"

Else

DXZH = "零元整"

End If

End Function

至此今天分享就完畢了,利用AI工具來寫代碼還是非常方便的,關鍵是要說清楚自己的需求

還有就是WPS表格默認不支持VBA宏,默認支持JS宏,但是我讓AI編寫JS宏總是出現(xiàn)錯誤,看來AI也不是萬能的啊,對這方面的支持還是不行,如你是WPS可以安裝vba庫做支持,就能在WPS中使用VBA代碼了

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
女子相親帶男閨蜜蹭飯,狂點8000元海鮮,男方逃單失聯(lián),警方介入

女子相親帶男閨蜜蹭飯,狂點8000元海鮮,男方逃單失聯(lián),警方介入

離離言幾許
2026-03-07 15:52:24
人社部: 將加大對外貿(mào)、建筑、住宿、餐飲等勞動密集型行業(yè)就業(yè)扶持

人社部: 將加大對外貿(mào)、建筑、住宿、餐飲等勞動密集型行業(yè)就業(yè)扶持

證券時報
2026-03-07 10:51:24
可以基本確定,伊朗已經(jīng)贏了

可以基本確定,伊朗已經(jīng)贏了

大樹鄉(xiāng)談
2026-03-06 23:32:06
商務部:如再次引發(fā)全球半導體產(chǎn)供鏈危機,荷方必須對此承擔全部責任

商務部:如再次引發(fā)全球半導體產(chǎn)供鏈危機,荷方必須對此承擔全部責任

每日經(jīng)濟新聞
2026-03-07 21:14:20
很多人還不知道,原來只要知道對方手機號碼,就可以查到對方位置了!

很多人還不知道,原來只要知道對方手機號碼,就可以查到對方位置了!

CG說科技
2026-03-05 16:59:05
特朗普:伊朗“今天將遭到極其猛烈的打擊”

特朗普:伊朗“今天將遭到極其猛烈的打擊”

新華社
2026-03-07 19:52:04
中東打仗,駐韓美軍異動?

中東打仗,駐韓美軍異動?

新民周刊
2026-03-07 09:17:30
深度揭秘?|?受賄5401萬余元,上海市徐匯區(qū)委原書記鮑炳章,獲刑14年!揭發(fā)他人犯罪,具有立功表現(xiàn)

深度揭秘?|?受賄5401萬余元,上海市徐匯區(qū)委原書記鮑炳章,獲刑14年!揭發(fā)他人犯罪,具有立功表現(xiàn)

一分為三看人生
2026-03-08 00:07:21
伊朗:強力打擊造成美第五艦隊21人死亡,阿聯(lián)酋美軍基地200人死傷!特朗普:伊朗今天將遭“極其猛烈”打擊,考慮擴大打擊范圍

伊朗:強力打擊造成美第五艦隊21人死亡,阿聯(lián)酋美軍基地200人死傷!特朗普:伊朗今天將遭“極其猛烈”打擊,考慮擴大打擊范圍

每日經(jīng)濟新聞
2026-03-07 21:34:38
A股:緊急提醒2.5億股民!從下周起,或許牛市歷史總是驚人的相似

A股:緊急提醒2.5億股民!從下周起,或許牛市歷史總是驚人的相似

另子維愛讀史
2026-03-07 19:02:07
中國散貨船“鐵娘子”號通過霍爾木茲海峽,我們去了它在上海浦東的運營公司

中國散貨船“鐵娘子”號通過霍爾木茲海峽,我們去了它在上海浦東的運營公司

上觀新聞
2026-03-07 17:17:07
黃仁勛:智能體AI成行業(yè)拐點,OpenClaw三周超越Linux

黃仁勛:智能體AI成行業(yè)拐點,OpenClaw三周超越Linux

環(huán)球網(wǎng)資訊
2026-03-07 11:23:08
網(wǎng)紅安靜公主自曝肛裂,今年手術做太多,被建議休息半個月再檢查

網(wǎng)紅安靜公主自曝肛裂,今年手術做太多,被建議休息半個月再檢查

君笙的拂兮
2026-03-05 07:22:01
文旅部部長:7名外國游客到上海旅游,買了40箱中國貨;“成為中國人”成了網(wǎng)絡熱詞,老外愛上喝開水吃火鍋等中式生活

文旅部部長:7名外國游客到上海旅游,買了40箱中國貨;“成為中國人”成了網(wǎng)絡熱詞,老外愛上喝開水吃火鍋等中式生活

新民晚報
2026-03-07 15:00:52
兩名美軍飛行員拒絕執(zhí)行任務被捕:軍隊不是表達個人立場的地方

兩名美軍飛行員拒絕執(zhí)行任務被捕:軍隊不是表達個人立場的地方

沉光映雪
2026-03-07 15:24:16
抵達長沙,王治郅履新新崗位,薪酬曝光,宮魯鳴力薦再展才華

抵達長沙,王治郅履新新崗位,薪酬曝光,宮魯鳴力薦再展才華

卿子書
2026-03-07 09:12:13
我踏瑪?shù)亩伎殳偭耍?>
    </a>
        <h3>
      <a href=一個壞土豆
2026-03-07 01:12:44
芒果立大功!中國科學家最新研究:連續(xù)補充26天 生存時間延長23%

芒果立大功!中國科學家最新研究:連續(xù)補充26天 生存時間延長23%

思思夜話
2026-03-06 15:59:05
以色列狂轟濫炸黎巴嫩首都!馬克龍放話:敢派地面部隊,我就出手

以色列狂轟濫炸黎巴嫩首都!馬克龍放話:敢派地面部隊,我就出手

達文西看世界
2026-03-07 16:36:01
馬斯克評比亞迪:產(chǎn)能跌破50%是"巨大痛苦",BYD連續(xù)六個月銷量下滑

馬斯克評比亞迪:產(chǎn)能跌破50%是"巨大痛苦",BYD連續(xù)六個月銷量下滑

新浪財經(jīng)
2026-03-07 20:46:51
2026-03-08 03:56:49
Excel從零到一 incentive-icons
Excel從零到一
0基礎,0成本學習Excel
580文章數(shù) 87198關注度
往期回顧 全部

科技要聞

OpenClaw爆火,六位"養(yǎng)蝦人"自述與AI共生

頭條要聞

選舉24小時內舉行 伊朗今天或選出最高領袖

頭條要聞

選舉24小時內舉行 伊朗今天或選出最高領袖

體育要聞

塔圖姆298天走完這段路 只用27分鐘征服這座城

娛樂要聞

汪小菲曝親媽猛料,張?zhí)m公開財產(chǎn)分配

財經(jīng)要聞

針對"不敢休、不讓休"怪圈 國家出手了

汽車要聞

逃離ICU,上汽通用“止血”企穩(wěn)

態(tài)度原創(chuàng)

游戲
數(shù)碼
手機
親子
教育

外媒:Xbox新主機恐成微軟絕唱!失敗即退出硬件市場

數(shù)碼要聞

英特爾 Core Ultra 3 “Panther Lake-H” 結構細節(jié)曝光

手機要聞

網(wǎng)曝OPPO Find N6渲染圖,或有橙色版本

親子要聞

長輩勸你生娃的重要性尤其是女性!網(wǎng)友:年輕不懂,老了一定懂

教育要聞

原來走讀生更容易學壞!家長曬初中叛逆女兒,網(wǎng)友:可能已經(jīng)懷孕

無障礙瀏覽 進入關懷版