我有一个非常简单的宏。我基本上每月为一个我自愿参加活跃会员的俱乐部获得数据转储。我从该文件创建了几个单独的xls工作簿,然后我需要将其转换为.csv
以下是代码示例:
' convert Poker
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/xlsx/Poker.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Poker" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
' convert Potluck
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/xlsx/Potluck.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Potluck" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
' convert Pub_Night
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV
Files/Current_Month/xlsx/Pub_Night.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Pub_Night" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
我运行宏的这一部分并得到以下错误:
如果我此时中止宏,并手动将csv文件保存到正确的目录中,然后将其删除并再次运行宏...宏将在正确的目录中创建csv(扑克)并且在下一次保存时弹出(potluck)。
我将用第二个文件(potluck)重复这个过程(手动另存为csv,从目录中删除文件)再次运行宏,前两个文件创建得很好,它会弹出在第三个(发布之夜)......
有关正在进行的操作或如何修复代码的任何建议?我必须每月创建18个这样的文件,我想从我的自动化中解决这些问题,所以当我运行这个疯狂的东西时,我不会撕裂我的头发。
答案 0 :(得分:0)
我没有答案,但我首先要做的一件事就是从用户端录制一个会做同样事情的宏。然后,我会将我的代码与从录制的宏生成的代码进行比较,看看我是否可以做任何错误,或者我是否使用正确的函数或属性来满足我的需要。
我这么做很多时间,通常很快就会发现错误。
祝你好运!答案 1 :(得分:0)
将所有工作表导出为分离的CSV文件。相应修改!
Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xCSVFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xTextFile = CurDir & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename: = xCSVFile, FileFormat: = xlCSV
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub