🚀Excel难题一键解?试试WPS会员新功能或VBA宏!点击分文巨细🎉

文章主题:拆分电子表格, 合并电子表格, VBA宏代码

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

ChatGPT的横空出世,让国内生成式人工智能大模型也异军突起,就在2024年2月14日,ChatGPT公开了视频生成平台Sora。我们国内大平台,又一次需要借鉴、学习别人了。不知道国内的大平台会用什么方式来面对Sora的强大功能。但过去的2023年,我们的国内大模型确实也能我们带来很多实用的功能。

🚀Excel难题一键解?试试WPS会员新功能或VBA宏!点击分文巨细🎉

🌟当谈到电子表格的操作,无论是拆分还是合并,对于许多人来说都是日常工作中不可或缺的技能。👩‍💻特别是在使用WPS的过程中,这个强大的工具提供了这样的功能选项,让数据处理变得轻松便捷。但对于一部分用户,特别是那些坚守传统Office环境的人群,他们更倾向于选择这款老牌软件,因为它早已深入骨髓,成为他们的工作伙伴。💡当然,对于无法满足基本需求的特定情况,有些人会选择下载第三方插件来应对挑战。SEO优化提示:#电子表格技巧 #WPS会员功能 #Office经典应用 #第三方解决方案

国内的大模型能不能解决这些问题呢?我们是不是遇到问题,可以不再求技术大神,直接问人工智能呢

下面,课件老师以拆分、合并电子表格为例,给大家详细讲解如何使用文心一言3.0来借助VBA和宏

一键实现这个功能。

一、宏和按钮的创建

如果不会编辑VBA宏,它还给出了操作步骤。

请按照以下步骤操作:

(1)打开Excel,并按下Alt + F11打开VBA编辑器。

(2)在VBA编辑器中,点击插入 -> 模块,在新模块中编写以下代码:

后面,课件老师对它提出了新的要求,但调试了很多次,也出现了一些错误,因为调试过程有一点复杂,就不展示。提的问题如下:已经成功合并文件夹下所有宏电子表格,合并时,请在前面插入一列,内容为被合并的电子表格的名称

在电子表格里加载一个按钮和下拉菜单的三角形,感觉好神奇,有了生成式人工智能,我们直接问它如何操作:这是课件老师在解决上一个问题,顺便问了一下文心一言:非常好,已经通过这个宏代码实现了文字和数字的分离显示,下面请把这个功能做成一个按钮放在电子表格里,请写出操作方法。

要在Excel电子表格中创建一个按钮来运行上述VBA宏,你需要按照以下步骤操作:

打开你的Excel工作簿,并确保VBA宏代码已经正确输入。

切换到包含你想要分离文字和数字数据的工作表。

✨在Excel表格中定位你的宝贝——按钮!想要用户一眼就看到?别忘了让它坐落在数据密集区的黄金地带,上方或侧边,简单易找,提升用户体验感!🚀

🚀在Excel的世界里,想要解锁更多功能,首先找到那个隐藏的宝藏——开发者选项卡!👀若它藏身于菜单深处而不显山露水,别急,只需轻轻一按。👀点击菜单栏上的`开发工具`图标,或者通过`文件` -> `选项` -> `自定义功能区`,它就会悄然出现。🔍一旦激活,你将开启Excel的高级编码世界,享受代码编写带来的无限可能!💪

点击“文件”菜单。

选择“选项”。

在Excel选项窗口中,点击“自定义功能区”。

在右侧列表中勾选“开发者”选项卡,然后点击“确定”。

🌟在Excel的”开发者”工具栏中,轻松找到并激活”按钮”插件,它通常伪装成”形状”或”控件”图标,隐形于众多选项之中。只需点击那个藏着功能的小图标,即可开启你的创新之旅!🚀

在工作表上绘制一个按钮。当你点击并拖动时,会出现一个矩形框,你可以调整其大小以适合你的需要。

右键点击新创建的按钮,并选择“编辑文字”来给按钮命名,例如“分离文字和数字”。

右键点击按钮,然后选择“分配宏”。

当你需要运用已设定好的文本分割与数字处理功能时,点击那个闪亮的’分配宏’按钮吧!在那里,浏览并选择你先前制作的特定工具——我们以’SplitTextAndNumbers’为例,接下来只需轻轻一点’确认’,操作就顺利完成。记得,智能辅助就在触手可及的地方等待着你的调用哦!💪

✨点击按钮,轻松实现文本与数字分离!🚀通过SplitTextAndNumbers宏的魔力,A列的内容将瞬间一分为二,分别落入B列和C列,让数据整理变得简单又高效。无需担心个人信息泄露,我们的服务专注于提供卓越的数据处理体验。享受科技带来的便捷,让工作更上一层楼!💪

请注意,为了确保宏能够正常运行,你可能需要在Excel的“信任中心”设置中调整宏安全设置,以允许运行宏。此外,宏功能可能因Excel版本和操作系统的不同而略有差异。

完成上述步骤后,你就成功地将VBA宏功能集成到了一个按钮中,用户可以通过点击这个按钮来执行文字和数字的分离操作。

二、合并电子表格

这里,课件老师共问了文心一言三句话。

1.在同一文件夹下,把多个电子表格合并在一起,有什么办法

2.用VBA和宏来解决怎么样做比较好

3.这个宏里的文件夹路径设置为弹出选择窗口

Sub MergeAllWorkbooksInFolder() Dim MyFolder As String Dim MyFile As String Dim MyWorkbook As Workbook Dim MySheet As Worksheet Dim DestRow As Long 弹出文件夹选择窗口 With Application.FileDialog(msoFileDialogFolderPicker) .Title = “请选择包含要合并的工作簿的文件夹” .Show If .SelectedItems.Count = 0 Then MsgBox “没有选择文件夹,操作已取消。”, vbExclamation, “错误” Exit Sub End If MyFolder = .SelectedItems(1) & “\” End With 确保路径以反斜杠结尾 If Right(MyFolder, 1) <> “\” Then MyFolder = MyFolder & “\” End If 获取文件夹中第一个Excel文件的名称 MyFile = Dir(MyFolder & “*.xlsx”) 创建一个新的工作簿来存放合并后的数据 Set MyWorkbook = Workbooks.Add 遍历文件夹中的每个工作簿 Do While MyFile <> “” 打开工作簿 Workbooks.Open Filename:=MyFolder & MyFile 遍历工作簿中的每个工作表 For Each MySheet In ActiveWorkbook.Sheets 将工作表数据复制到新的工作簿中 DestRow = MyWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1 MySheet.UsedRange.Copy Destination:=MyWorkbook.Sheets(1).Cells(DestRow, 1) Next MySheet 关闭工作簿,不保存更改 ActiveWorkbook.Close SaveChanges:=False 获取下一个工作簿的名称 MyFile = Dir Loop 清理并保存新的工作簿 MyWorkbook.Sheets(1).Cells(1, 1).Select MyWorkbook.SaveAs Filename:=”MergedWorkbook.xlsx” MyWorkbook.Close SaveChanges:=True End Sub

三、拆分电子表格

拆分电子表格也是打工者们经常要用到的一项技能,比如在教育局要把各学校的指标单独发送到各校的老师。课件老师使用了文心一言3.5来完成这个功能,具体的对话内容如下:

1.现在有一个电子表格,把A列名称相同的内容拆分另外保存为一个电子表格,电子表格名称为A列相同的内容。保存路径为弹出窗口,让用户选择。

2.继续优化,提示缺少函数或变量

3.已经成功在一个电子表格中拆分,但我需要以一个新的电子表格的方式保存到文件夹,保存路径弹出窗口,由用户选择

4.savePath = Application.GetFolderName(Title:=”选择保存路径”)这一行提示错误438,对象不支持该属性或方法

5.Set folder = Application.GetFolder(“请选择一个文件夹来保存拆分后的文件”)这里还是提示错误

6.每一个电子表格里只有一条数据,应该是把行名称相同的内容都拆分到这个电子表格里,请继续优化。

7.在构建完整的文件名”For Each wb In dict.Items”这一行,提示424错误,请继续完善

8.这一行代码wsSource.Rows(i).Copy Destination:=wbNew.Sheets(1).Rows(wbNew.Sheets(1).Rows.Count + 1)提示错误

9.非常好,最后已经完整的实现了这一功能。

可以看出,课件老师一共用了九句话和文心一言3.5进行交流,最终生成的代码如下:

Sub SplitWorksheetByColumnA() Dim wsSource As Worksheet Dim dict As Object Dim cellValue As String Dim lastRow As Long Dim folderPath As String Dim wbNew As Workbook Dim nextRow As Long Dim sheetExists As Boolean 创建字典对象 Set dict = CreateObject(“Scripting.Dictionary”) 设置源工作表 Set wsSource = ThisWorkbook.Sheets(“Sheet1”) 弹出对话框让用户选择保存文件夹 folderPath = GetFolderPath() If folderPath = “” Then Exit Sub 用户取消操作 获取源工作表的最后一行 lastRow = wsSource.Cells(wsSource.Rows.Count, “A”).End(xlUp).Row 遍历源工作表,按A列的值拆分数据 Dim i As Long For i = 1 To lastRow cellValue = wsSource.Cells(i, 1).Value sheetExists = False 如果字典中不存在该值,则创建一个新的工作簿 If Not dict.Exists(cellValue) Then Set wbNew = Workbooks.Add 保存新工作簿的路径到字典中,但先不保存文件 dict.Add cellValue, wbNew sheetExists = True Else 如果字典中已存在该值,则获取对应的工作簿对象 Set wbNew = dict(cellValue) End If 确保工作簿中至少有一个工作表 If wbNew.Sheets.Count = 0 Then MsgBox “工作簿 ” & cellValue & ” 没有工作表。”, vbCritical Exit Sub End If 将源工作表的当前行复制到目标工作簿的Sheet1 With wbNew.Sheets(1) nextRow = .Cells(.Rows.Count, “A”).End(xlUp).Row + 1 wsSource.Rows(i).Copy Destination:=.Rows(nextRow) End With 如果这是新创建的工作簿,则现在保存它 If sheetExists Then wbNew.SaveAs Filename:=folderPath & “\” & cellValue & “.xlsx”, FileFormat:=xlOpenXMLWorkbook Set wbNew = Nothing 释放工作簿对象,因为我们会在下一次迭代时重新打开它(如果需要) End If Next i 关闭所有新打开的工作簿(除了源工作簿所在的工作簿) Dim varKey As Variant For Each varKey In dict.Keys If Not dict(varKey) Is ThisWorkbook Then dict(varKey).Close SaveChanges:=True End If Next varKey 显示消息框告知用户拆分和保存已完成 MsgBox “拆分并保存完成!”, vbInformation 清理字典和工作表对象 Set dict = Nothing Set wsSource = Nothing End Sub Function GetFolderPath() As String Dim fileDialog As FileDialog Dim selectedFolder As String 创建一个文件夹选择对话框 Set fileDialog = Application.FileDialog(msoFileDialogFolderPicker) 显示文件夹选择对话框 If fileDialog.Show = -1 Then 获取用户选择的文件夹路径 selectedFolder = fileDialog.SelectedItems(1) Else 用户点击了取消 selectedFolder = “” End If 清理 FileDialog 对象 Set fileDialog = Nothing 返回文件夹路径 GetFolderPath = selectedFolder End Function

欢迎点击“阅读原文”查看更多内容

欢迎关注“课件老师”公众号

往期文章

1、技术学堂合集2、论文写作合集3、电子表格合集4、希沃白板合集5、课件制作合集6、人工智能合集7、智慧中小学合集8、文章合集

🚀Excel难题一键解?试试WPS会员新功能或VBA宏!点击分文巨细🎉

AI时代,掌握AI大模型第一手资讯!AI时代不落人后!

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

扫码右边公众号,驾驭AI生产力!

相关文章