大数跨境
0
0

让DeepSeek帮助我们设计VBA代码,真的可以节省时间吗?

让DeepSeek帮助我们设计VBA代码,真的可以节省时间吗? Excel数据分析之道
2025-03-24
0
一个学生问题,我一学习VBA就头大,就像一座山那样买不过去。现在DeepSeek出来了,我想借助DeepSeek学习VBA,老师觉得如何?
下面介绍一个例子吧,这样我们也可以初步了解DeepSeek效率如何。

例如,我们要在当前工作簿所有工作表的后面插入1个新工作表,然后重命名为“基本资料”,这样的代码如何设计?

由于是获取这样简单的代码,为提高思考及搜索速度,可以先选择“联网搜索”,然后输入的提示词:

任务:请设计一个简洁的插入新工作表的VBA代码

要求:在当前工作簿所有工作表的后面插入1个新工作表,并且新工作表要重命名为“基本资料”。

注意:如果工作簿已经存在工作表“基本资料”,就弹出一个警告框,然后退出程序。

VBA代码越简单越好,语句越少越好。

DeepSeek给出的VBA代码如图所示。 

但是,这个代码是错误的,因为运行时,不管是不是存在工作表“基本资料”,都弹出了警告框,并且未完成插入新工作表的工作。

因此,继续输入以下提示词,那么DeepSeek第二次给出的VBA代码如图
所示。

这个代码是错误的,请修改。

经测试,这个代码也是错误的,并且插入新工作表的语句非常长,因此需要继续修改代码并进行优化。输入下面的提示词,DeepSeek第三次给出的VBA代码如图所示。

这个代码无法完成插入新工作表的任务,是错误的,请检查并修改。注意代码越简单越好

终于,得到了我们需要的代码,运行结果是正确的。

但是,这个代码是有BUG的,因为没有声明对象变量,这样在有强制声明变量语句“Option Explicit”存在的情况下,就会出现变量未定义的错误警告框,如图所示。

因此,在程序中,需要声明对象变量s,这个就很简单了,我们自己手工添加一个对象变量声明语句就可以了:

Dim s As Worksheet

当然,如果类似这样的错误比较多,可以继续让DeepSeek进行修改完善。输入下面的提示词,就得到DeepSeek第四次给出的VBA代码,如图示。

程序出现变量未定义的编译错误,请修改。

如果是选择“深度思考”模型,然后再输入第一次给出的提示词,DeepSeek会给出什么样的结果呢?此时,DeepSeek给出的VBA代码如图所示。

不过,这个代码也是有BUG的,如果同时打开了几个工作簿,那么就会在当前活动工作簿上插入新工作表,这显然不满足我们的要求,因此继续输入下面的提示词:

这个代码有BUG,因为如果同时打开了几个工作簿,那么就会在当前活动工作簿上插入新工作表,这显然不满足要求,请修改代码。

此时,DeepSeek给出的修改后的VBA代码如图所示。

但是,经过测试,这个代码仍然是错误的,出现了“下标越界”错误。因此,再输入下面的提示词,请求DeepSeek继续修改代码:

语句 If Not .Sheets("基本资料") Is Nothing Then 出现下标越界错误

这一次,我们终于得到了正确的VBA代码,如图所示

总结:不论是选择“联网搜索”模型,还是选择“深度思考”模型,让DeepSeek根据我们指定的任务要求设计VBA代码,常常是错误屡出,无法一次得到准确无误的VBA代码,而这样的提问→获取代码→测试→再提问→再获取代码→再测试……这样的循环操作,是非常消耗你的时间和耐心的,这点要特别注意。

例如,就这么一个最简单的插入新工作表的工作,本来想要省事的,结果却更费事

不过,从DeepSeek给出的代码中,我们有额可以学到了一些最基本的VBA知识,例如:

1、如果要判断一个工作表是否存在,直接使用Set语句引用工作表是错误的,要联合使用On Error语句进行处理才可以,因为如果工作表不存在的话,这种引用是要出错的:

On Error Resume Next

Dim sht As Worksheet

Set sht = ThisWorkbook.Sheets("基本资料")

On Error GoTo 0

2、这样的联合处理,才能得到这样的结果:如果指定的工作表不存在,变量sht就是Nothing,那么就可以插入新工作表并重命名;如果如果指定的工作表存在,变量sht就是一个具体存在的对象,就Not sht Is Nothing,就不能插入新工作表并重命名。

If Not sht Is Nothing Then

3、插入新工作表的语句就很简单了,使用Add方法即可,将插入工作表并重命名可以合并为一个语句:

ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)).Name = "基本资料"

-------------------

最新关于DeepSeek文章(点击链接快速阅读)



【声明】内容源于网络
0
0
Excel数据分析之道
全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
内容 1106
粉丝 0
Excel数据分析之道 全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
总阅读317
粉丝0
内容1.1k