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

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

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

0
分享至

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

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

一、DeepSeek代碼生成

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

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

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

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

以上就是我的提問方式,當(dāng)然如果你有更多的要求,盡量描述詳細(xì),要求越詳細(xì)DeepSeek給出的結(jié)果越準(zhǔn)確,

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編輯器中的操作步驟如下

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

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

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

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

三、自動(dòng)生成目錄

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

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

這個(gè)代碼可以將文件夾中的圖片提取名稱并且批量的插入到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 "圖片和姓名插入完成,行高和列寬已調(diào)整。"

End Sub

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

這個(gè)是自定義了一個(gè)名稱為CountColor的函數(shù),用于根據(jù)單元格統(tǒng)計(jì)顏色,參數(shù)有2個(gè),第一參數(shù)設(shè)置為箱套統(tǒng)計(jì)背景色的單元格,第二參數(shù)為統(tǒng)計(jì)的區(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ù)字轉(zhuǎn)金額大寫

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

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 = "負(fù)"

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工具來寫代碼還是非常方便的,關(guān)鍵是要說清楚自己的需求

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

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

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.

相關(guān)推薦
熱點(diǎn)推薦
打不過伊朗就逼中國?美財(cái)長露出了真面目:不許中國購買俄伊石油

打不過伊朗就逼中國?美財(cái)長露出了真面目:不許中國購買俄伊石油

舊窗老街
2026-03-07 22:51:49
花青素主要在藍(lán)莓的果皮里 科普中國發(fā)文:不建議大家買超大藍(lán)莓

花青素主要在藍(lán)莓的果皮里 科普中國發(fā)文:不建議大家買超大藍(lán)莓

中國能源網(wǎng)
2026-03-06 17:53:07
央視元宵晚會(huì)收視破7,一屋子專業(yè)歌手,愣是沒唱過兩個(gè)跨界演員

央視元宵晚會(huì)收視破7,一屋子專業(yè)歌手,愣是沒唱過兩個(gè)跨界演員

查爾菲的筆記
2026-03-05 12:00:14
不到24小時(shí),伊朗新防長被斬首!哈梅死得不冤,最大敵人已出現(xiàn)

不到24小時(shí),伊朗新防長被斬首!哈梅死得不冤,最大敵人已出現(xiàn)

甜檸聊史
2026-03-07 04:43:09
伊朗啟動(dòng)“真實(shí)承諾4”第25輪軍事行動(dòng)

伊朗啟動(dòng)“真實(shí)承諾4”第25輪軍事行動(dòng)

環(huán)球網(wǎng)資訊
2026-03-07 19:09:32
致敬西虹市首富?切爾西眾人開球前將球圍在中間,解說員啞然失笑

致敬西虹市首富?切爾西眾人開球前將球圍在中間,解說員啞然失笑

懂球帝
2026-03-07 13:08:08
1965年飛行員高長吉違令擊落對岸偵察機(jī),主席批示后結(jié)局令人感慨

1965年飛行員高長吉違令擊落對岸偵察機(jī),主席批示后結(jié)局令人感慨

嘮叨說歷史
2026-03-04 10:46:38
中美俄衛(wèi)星定位精度差距太大!美0.1米,俄1.5米,中國北斗是多少

中美俄衛(wèi)星定位精度差距太大!美0.1米,俄1.5米,中國北斗是多少

壹知眠羊
2026-03-05 11:13:57
1分鐘2次巨大爭議!魏震撞人逃點(diǎn),劉祝潤進(jìn)球被吹,穆帥罕見暴怒

1分鐘2次巨大爭議!魏震撞人逃點(diǎn),劉祝潤進(jìn)球被吹,穆帥罕見暴怒

奧拜爾
2026-03-07 21:17:45
加拿大最大反對黨黨領(lǐng)的“英語系共榮圈”構(gòu)想

加拿大最大反對黨黨領(lǐng)的“英語系共榮圈”構(gòu)想

陶短房之短話短說
2026-03-06 21:51:35
谷維素加維生素B12,可改善老年人4大常見問題,建議收藏!

谷維素加維生素B12,可改善老年人4大常見問題,建議收藏!

李藥師談健康
2026-03-06 13:25:58
萬萬沒想到,2026兩會(huì)最火的提案不是醫(yī)療、就業(yè),而是靳東的回答

萬萬沒想到,2026兩會(huì)最火的提案不是醫(yī)療、就業(yè),而是靳東的回答

臨云史策
2026-03-07 13:36:40
“高市早苗仍不同意撤回發(fā)言”;日本外務(wù)省高官離開酒店,全程表情嚴(yán)肅,一言不發(fā)

“高市早苗仍不同意撤回發(fā)言”;日本外務(wù)省高官離開酒店,全程表情嚴(yán)肅,一言不發(fā)

每日經(jīng)濟(jì)新聞
2026-03-07 21:23:47
楊紫真的已經(jīng)瘦到天賦上限了,這也太牛了…

楊紫真的已經(jīng)瘦到天賦上限了,這也太牛了…

手工制作阿殲
2026-02-22 13:25:34
在中國一顆也賣不出去!NVIDIA無奈停產(chǎn)H200芯片:加速Vera Rubin量產(chǎn)

在中國一顆也賣不出去!NVIDIA無奈停產(chǎn)H200芯片:加速Vera Rubin量產(chǎn)

快科技
2026-03-06 12:05:08
太棒了!國行 iPhone 終于支持 eSIM 快速轉(zhuǎn)移功能

太棒了!國行 iPhone 終于支持 eSIM 快速轉(zhuǎn)移功能

XCiOS俱樂部
2026-03-07 19:09:02
爭議升級(jí)!全紅嬋4個(gè)月不訓(xùn)練變胖,歸鄉(xiāng)久未歸隊(duì),網(wǎng)友吵翻了!

爭議升級(jí)!全紅嬋4個(gè)月不訓(xùn)練變胖,歸鄉(xiāng)久未歸隊(duì),網(wǎng)友吵翻了!

悅君兮君不知
2026-03-06 22:13:41
塔圖姆回歸重塑東部格局 綠軍爭冠窗口重新開啟

塔圖姆回歸重塑東部格局 綠軍爭冠窗口重新開啟

體壇周報(bào)
2026-03-07 22:41:13
偷雞不成蝕把米!以為能“扳倒”薛之謙,自己卻先被扒了個(gè)底朝天

偷雞不成蝕把米!以為能“扳倒”薛之謙,自己卻先被扒了個(gè)底朝天

八卦南風(fēng)
2026-03-04 12:18:44
記者:狄龍被逮捕并不是涉嫌酒駕,而是因?yàn)槲炒舐?>
    </a>
        <h3>
      <a href=懂球帝
2026-03-07 10:41:15
2026-03-07 23:28:49
Excel從零到一 incentive-icons
Excel從零到一
0基礎(chǔ),0成本學(xué)習(xí)Excel
580文章數(shù) 87198關(guān)注度
往期回顧 全部

科技要聞

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

頭條要聞

日本求美國給個(gè)準(zhǔn)話 美方避而不談

頭條要聞

日本求美國給個(gè)準(zhǔn)話 美方避而不談

體育要聞

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

娛樂要聞

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

財(cái)經(jīng)要聞

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

汽車要聞

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

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

健康
房產(chǎn)
親子
游戲
公開課

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

房產(chǎn)要聞

傳統(tǒng)學(xué)區(qū)房熄火?2月海口二手房爆火的板塊竟然是…

親子要聞

有些一個(gè)人去產(chǎn)檢的孕婦不值得可憐!網(wǎng)友:出事了罵一頓都是輕的

《殺戮尖塔2》破44萬在線!輝煌神作再創(chuàng)新高

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版