网易首页 > 网易号 > 正文 申请入驻

用DeepSeek写VBA,3分钟白嫖同事1杯咖啡,难道这才是正确用法?

0
分享至

之前给大家分享了DeepSeek的使用方法,有粉丝反馈用它来写VBA代码真的太方便了,白嫖同事一杯咖啡,3分钟就搞定了!

其实使用DeepSeek来写代码非常的简单,我们只需要清楚的告诉DeepSeek你想要做什么,你的需求是什么,想要实现什么样的效果,总之就是提问的方法很重,要学会问问题,才能解决问题,也是需要稍微懂点Excel的

一、DeepSeek代码生成

如下图就是我们对DeepSeek的提问,大家可以仿照我的问题方式来做提问

目的:可否帮我使用VBA宏编写一个自定义函数,函数的名称为SumColor

实现的效果:要求能实现根据单元格背景色求和

函数参数要求:函数参数有2个,第一参数选中带有背景色的1个单元格,将单元格的背景色作为求和的条件,第二参数需要选择带有背景色的数据区域 对这个区域根据颜色求和

以上就是我的提问方式,当然如果你有更多的要求,尽量描述详细,要求越详细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代码,需要在【开发工具】把代码粘贴到Excel的VB编辑器中的操作步骤如下

点击【开发工具】找到【Visual Basic】然后在左侧点击空白的区域,点击鼠标右键找到【插入】选择【模块】在新建的模块中粘贴代码即可

如果你是自定义的函数,就直接写等于号,填写函数名称

如果你是自定义的宏程序,就需要在【发开工具】中点击【宏】找到宏名称来运行宏

跟大家分享几个常用代码,也别找AI来一个一个问了,直接复制粘贴就能用啦

三、自动生成目录

这个代码可以实现自动生成目录,并且在每个工作表的坐上方都添加一个返回目录的按钮

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

五、根据颜色计数

这个是自定义了一个名称为CountColor的函数,用于根据单元格统计颜色,参数有2个,第一参数设置为箱套统计背景色的单元格,第二参数为统计的区域

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

六、数字转金额大写

这个是自定义了一个名称为DXZH的函数,参数只有一个,就是需要转换的单元格,直接粘贴代码使用即可

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宏总是出现错误,看来AI也不是万能的啊,对这方面的支持还是不行,如你是WPS可以安装vba库做支持,就能在WPS中使用VBA代码了

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

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.

相关推荐
热点推荐
暗黑界那朵“小白花”,凭什么盛开十年不败——白桃花

暗黑界那朵“小白花”,凭什么盛开十年不败——白桃花

碧波万览
2026-03-10 00:56:16
老婆一句玩笑,把我调去当门卫,8分钟后她收到通知傻眼了

老婆一句玩笑,把我调去当门卫,8分钟后她收到通知傻眼了

晓艾故事汇
2026-03-04 16:18:28
上手零门槛!周鸿祎:将发行OpenClaw一键安装版 人人皆可配备

上手零门槛!周鸿祎:将发行OpenClaw一键安装版 人人皆可配备

快科技
2026-03-08 19:18:21
恒大歌舞团团长嫁人了

恒大歌舞团团长嫁人了

地产微资讯
2026-01-22 09:38:37
来俊臣的酷刑有多狠?曾有女犯哀求:只要不上刑,杀全族都行

来俊臣的酷刑有多狠?曾有女犯哀求:只要不上刑,杀全族都行

铭记历史呀
2026-03-09 15:28:19
父母若是有以下7种疾病,子女基本都会遗传,不少人并不清楚!

父母若是有以下7种疾病,子女基本都会遗传,不少人并不清楚!

健康之光
2026-03-03 17:35:03
新疆首府为何设在乌鲁木齐,而不是条件更好的库尔勒、喀什或伊犁

新疆首府为何设在乌鲁木齐,而不是条件更好的库尔勒、喀什或伊犁

铭记历史呀
2026-03-09 14:18:43
当韩国人知道韩国很小中国很大后,是完全颠覆他们认知的!

当韩国人知道韩国很小中国很大后,是完全颠覆他们认知的!

夜深爱杂谈
2026-02-25 21:23:43
高240米,投资32亿!青岛“大水坑”变摩天楼,2027年竣工!

高240米,投资32亿!青岛“大水坑”变摩天楼,2027年竣工!

GA环球建筑
2026-03-09 23:06:39
入伍三年回家要离婚,却见妻子抱着两岁娃喂饭,我爸从里屋走出来

入伍三年回家要离婚,却见妻子抱着两岁娃喂饭,我爸从里屋走出来

晓艾故事汇
2026-03-09 14:06:57
特朗普:将与以色列总理内塔尼亚胡共同决定何时停战;伊朗:将在最高领袖领导下,战斗至最后一口气、最后一滴血

特朗普:将与以色列总理内塔尼亚胡共同决定何时停战;伊朗:将在最高领袖领导下,战斗至最后一口气、最后一滴血

极目新闻
2026-03-09 15:21:57
上海地铁“西环线”要来了,2027年建成通车

上海地铁“西环线”要来了,2027年建成通车

小影的娱乐
2026-03-09 16:05:13
史诗级封杀!2000万网红“听风的蚕”彻底凉了

史诗级封杀!2000万网红“听风的蚕”彻底凉了

互联网品牌官
2026-02-12 01:17:23
中日争端升级,法国声援高市,逼中方让步,中法千亿大单白签?

中日争端升级,法国声援高市,逼中方让步,中法千亿大单白签?

娱乐小可爱蛙
2026-03-09 03:41:52
36岁张含韵近况曝光!春节一周胖6斤,如今和“五竹叔”恋情稳定

36岁张含韵近况曝光!春节一周胖6斤,如今和“五竹叔”恋情稳定

代军哥哥谈娱乐
2026-03-09 14:17:39
拒唱国歌后出逃!伊朗五女足总动员奔赴澳洲,用脚反抗强权

拒唱国歌后出逃!伊朗五女足总动员奔赴澳洲,用脚反抗强权

老马拉车莫少装
2026-03-10 00:00:33
金价真的一夜变天了,3月7日最新报价,全国金价竟然差这么多?

金价真的一夜变天了,3月7日最新报价,全国金价竟然差这么多?

三农老历
2026-03-10 03:53:56
性压抑已经变态至此了?

性压抑已经变态至此了?

黯泉
2026-03-07 11:28:43
MPV到底该怎么选?这辆2026年3月必看车型

MPV到底该怎么选?这辆2026年3月必看车型

爱游戏的小马呀
2026-03-09 15:39:44
才播2集,收视率全国登顶,央八这部年代剧,锁定2026年度黑马

才播2集,收视率全国登顶,央八这部年代剧,锁定2026年度黑马

陈意小可爱
2026-03-10 00:03:33
2026-03-10 05:31:00
Excel从零到一 incentive-icons
Excel从零到一
0基础,0成本学习Excel
580文章数 87198关注度
往期回顾 全部

科技要闻

OpenClaw更新,"养虾"再也不会犯健忘症了

头条要闻

媒体:美军用极残酷方式击沉伊朗军舰 令世界不寒而栗

头条要闻

媒体:美军用极残酷方式击沉伊朗军舰 令世界不寒而栗

体育要闻

36连胜终结!大魔王也是可以战胜的

娱乐要闻

薛之谦老婆怀二胎,现身产检心情愉快

财经要闻

油价破100美元年内涨80% 全球市场剧震

汽车要闻

对标奔驰小号G级 路虎小型卫士最新消息曝光

态度原创

教育
时尚
亲子
旅游
游戏

教育要闻

“吃不完不许睡觉”,母亲强迫女儿吃零食,200块留下终身阴影

今年最流行的5条半裙,怎么搭都好看!

亲子要闻

框框。。。

旅游要闻

枫叶小镇奥莱落子宝山滨江!赋能国际邮轮度假区提质升级

《怪物猎人物语3:命运双龙》深度评测:“决绝”的JRPG单人体验

无障碍浏览 进入关怀版