AI助力提升工作效率:ChatGPT在Excel、VBA与DAX的实际应用

ChatGPT与Excel 1年前 (2023) lida
48 0 0

文章主题:ChatGPT, AI, VBA, Excel

666ChatGPT办公新姿势,助力做AI时代先行者!

ChatGPT近期在全球范围内风靡一时,我对其进行了多方面的尝试与测试,结果远超预期。作为一名资深的数据分析与应用专家,我主要依赖Excel和Power BI这些工具,所以对AI生成的Excel公式、VBA以及DAX代码进行了实践。令人惊喜的是,大部分生成的内容都具备较高的可用性,只需稍作调整便能直接应用。例如,在使用VBA时,我向AI提出了一个首个问题:

用VBA在Excel创建宏,功能是1到100求和。

以下是ChatGPT给出的解答:

Sub 求和()
Dim Sum , i
Sum = 0
For i = 1 To 100
Sum = Sum + i
Next
MsgBox “1到100的和是:” & Sum
End Sub

运行无误:

AI助力提升工作效率:ChatGPT在Excel、VBA与DAX的实际应用

在继续之前,我想先请教一下您,是否熟悉Visual Basic for Applications(VBA)这种编程语言?如果您对此有所了解,那么接下来的问题将变得相对简单。现在,我要向您展示如何利用VBA在Excel中创建一个宏,其功能在于将A1至A1000单元格中的数据以逗号为分隔符连接在一起,并把结果写入B1单元格。首先,我们需要打开Excel并确保已经安装了VBA编辑器。接下来,在VBA编辑器中插入一个新的模块,然后在该模块中编写以下代码:“`vbaSub ConnectData() Dim i As Integer Dim j As Integer Dim result As String Dim cell As Range For i = 1 To 1000 cell = ThisWorkbook.Worksheets(“Sheet1”).Range(“A” & i) result = result & cell.Value & “,” Next i ThisWorkbook.Worksheets(“Sheet1”).Range(“B1”) = resultEnd Sub“`在上面的代码中,我们定义了一个名为`ConnectData`的子程序。这个子程序会遍历A1到A1000的所有单元格,并将它们的数据连接起来,形成一个包含所有数据的字符串。最后,我们将这个字符串写入B1单元格。要运行这个宏,您可以按以下步骤操作:1. 打开Excel文件。2. 按下`Alt + F11`组合键,打开VBA编辑器。3. 点击菜单栏的`插入`>`模块`,在模块中粘贴上面的代码。4. 保存并关闭VBA编辑器。5. 返回Excel,按下`Alt + F8`组合键,选择`ConnectData`子程序,然后点击`运行`按钮。这样,您就可以轻松地将A1到A1000单元格的数据用逗号连接在一起,并将结果写入B1单元格了。希望这对您有所帮助!

ChatGPT的回答如下,它甚至加上了注释。

Sub Connect_A1toA1000()
定义变量
Dim i As Long
Dim myStr As String
循环
For i = 1 To 1000
myStr = myStr & Cells(i, “A”) & “,”
Next i
将连接后的字符串结果写入B1
Cells(1, “B”) = Left(myStr, Len(myStr) – 1)

End Sub

运行结果如下:

AI助力提升工作效率:ChatGPT在Excel、VBA与DAX的实际应用

我加大了难度,这个场景我在《Excel显示指定产品图片

》分享过,很多零售业同仁有查看产品图片的需求。我的提问如下:

在Excel中,我们可以通过编写VBA代码来实现将jpg图片插入到任意选中的单元格中,且图片的大小会自动适应单元格的大小。图片的来源是位于D盘的“图库”文件夹,值得一提的是,插入的图片的文件名将会与单元格的数值保持一致。下面就是具体的实现步骤:首先,我们需要打开Excel,然后在菜单栏中选择“开发工具”,接着点击“Visual Basic”。在新的窗口中,我们需要点击“插入”菜单,然后选择“模块”选项。这样就可以创建一个新的模块了。接下来,我们可以在新的模块中编写以下代码:“`vbnetSub InsertPicture() Dim ws As Worksheet Dim rng As Range Dim pictureName As String Dim picturePath As String Set ws = ThisWorkbook.Worksheets(“Sheet1”) ‘根据实际情况修改工作表名称 Set rng = ws.Range(“A1”) ‘根据实际情况修改起始单元格 pictureName = rng.Value picturePath = “D:\图库\” & pictureName & “.jpg” ‘根据实际情况修改图片路径 With New MSForms.DataObject .GetFromFile picturePath If .Error <> 0 Then MsgBox “无法插入图片!”, vbCritical, “错误” Else rng.PasteSpecial xlPasteValues, False, pictureName End If End WithEnd Sub“`在上面的代码中,我们定义了几个变量,包括工作表(ws)、起始单元格(rng)以及图片的文件名(pictureName)和路径(picturePath)。其中,工作表名称和工作 starting cell 的值需要根据实际情况进行修改。图片的文件名和路径也需要根据实际情况进行修改。在代码的最后,我们使用了一个名为“InsertPicture”的子程序来执行上述操作。当用户运行这个子程序时,它将会将指定路径下的图片插入到指定的起始单元格中。如果图片无法插入,则会弹出一个错误消息框提示用户。最后,我们需要在“开发工具”中返回Excel,并在“宏”选项卡中选择刚才创建的“InsertPicture”子程序,然后点击“运行”按钮来执行它。这样就完成了将jpg图片插入到Excel单元格中的操作。

ChatGPT给出的答案是:

Sub InsertImage()
Dim cell As Range
For Each cell In Selection
If Dir(“D:\图库\” & cell.Value & “.jpg”) <> “” Then
With ActiveSheet.Pictures.Insert(“D:\图库\” & cell.Value & “.jpg”)
.Left = cell.Left
.Top = cell.Top
.Width = cell.Width
.Height = cell.Height
End With
Else
没有该图片
MsgBox “没有找到” & cell.Value & “.jpg” & vbNewLine & “请检查是否存在,并重新运行该宏”
End If
Next
End Sub

代码再次直接可用。

ChatGPT作为一款强大的助手,能够与人机结合,从而极大地提高我们的工作效率。特别是在AI写代码的场景中,我们在提问时需要注意条理清晰、描述详细。如果在首次提问的结果不尽如人意,我们也可以针对性地进行问题的修正,并再次提问,以便获取更理想的结果。

在未来的日子里,我们将为大家带来更多有关AI如何助力于提升个人效率的相关介绍。关于ChatGPT账号的具体操作,相信大家已经可以在网上找到大量的教程来学习。

上一个时代机器取代了部分体力劳动,这个时代AI要取代部分脑力劳动。当然,有取代,也会有创造。

AI助力提升工作效率:ChatGPT在Excel、VBA与DAX的实际应用

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!

版权声明:lida 发表于 2023年12月29日 pm3:15。
转载请注明:AI助力提升工作效率:ChatGPT在Excel、VBA与DAX的实际应用 | ChatGPT资源导航

相关文章