问题:有大量的xlsx文件,需要转化为csv格式

一般的解决办法:打开xlsx文件,文件 - 另存为 - 选择csv格式 - 保存,重复操作其他文件。

推荐的解决办法:

一、新建【启用宏的工作簿*.xlsm】

新建普通xlsx文件,【另存为】选择【启用宏的工作簿*.xlsm】保存。

二、启用宏

打开【选项】,点击【自定义功能区】,勾选【开发工具】。

vba批量替代excel单元格内容(VBA宏的妙用Excel批量转换文件格式)(1)

Excel选项

三、编辑宏

通过点击【录制宏】,新建一个宏命名

vba批量替代excel单元格内容(VBA宏的妙用Excel批量转换文件格式)(2)

宏命名

点击【编辑】,替换以下代码后保存

Sub 另存为() '不显示提示框 Application.DisplayAlerts = False '不显示自动化过程 Application.ScreenUpdating = False Dim filename, pathname Dim wb As Workbook '打开文件夹下同一类性的文件 pathname = "C:\Users\ChenWenjing\Desktop\新建文件夹\" filename = Dir(pathname & "*.xlsx") Do While filename <> "" Set wb = Workbooks.Open(pathname & filename) '获取新建文件名 wb.SaveAs filename:=CreateObject("Scripting.FileSystemObject").GetBaseName(pathname & filename) & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False wb.Close '下一个文件 filename = Dir Loop Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

四、运行宏

vba批量替代excel单元格内容(VBA宏的妙用Excel批量转换文件格式)(3)

添加操作按钮

vba批量替代excel单元格内容(VBA宏的妙用Excel批量转换文件格式)(4)

右键按钮【指定宏】,选择【另存为】宏命令

vba批量替代excel单元格内容(VBA宏的妙用Excel批量转换文件格式)(5)

点击【另存为】按钮即可执行宏操作

,