Mik*_*ogg 3 excel vba excel-vba
- 总结:我正在尝试编写代码,它会自动保存当前日期的名称
- 问题:当编译器到达保存的行时,弹出"对象'_Workbook'的方法'SaveAs'失败"的错误.其他一切都有效.为了参考,我已经展示了整个函数.
Function createRecord()
Dim rowCount As Integer
Dim theDate As Date
theDate = Format(Now(), "MM-DD-YY")
Sheets("New Data").Select
Cells.Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Application.ActiveSheet.Name = "ChaseHistory"
ActiveSheet.Paste
rowCount = ActiveSheet.UsedRange.Rows.Count
Sheets("Exceptions").Select
'rowCount = ActiveSheet.UsedRange.Rows.Count
Application.CutCopyMode = False
ActiveSheet.UsedRange.Rows.Select
Selection.Copy
Sheets("ChaseHistory").Select
ActiveSheet.Range("A" & rowCount + 2).Select
ActiveSheet.Paste
Range("A1").Select
Cells.Select
Selection.Copy
ChDir "Z:\Customer_Service_Accounting\REPORTING & CONTROLS TEAM\Book And Balance_Katie\Chase Booking History" 'loads the crystal report
Workbooks.Open Filename:= _
"Z:\Customer_Service_Accounting\REPORTING & CONTROLS TEAM\Book And Balance_Katie\Chase Booking History\Do_Not_Delete.xlsx"
Windows("Do_Not_Delete").Activate
ActiveSheet.Paste
Application.DisplayAlerts = False
'---------------This is the problem child-------------- 'SAVING WORKBOOK
ActiveWorkbook.SaveAs Filename:="Z:\Customer_Service_Accounting\REPORTING & CONTROLS TEAM\Book And Balance_Katie\Chase Booking History\" & CStr(theDate), FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.DisplayAlerts = True
End Function
Run Code Online (Sandbox Code Playgroud)
- 我在date上添加了convert to string方法,因为我认为这可能会导致问题,但结果相同.如果你在这里看到任何错误,请告诉我.谢谢!
Mik*_*ogg 10
问题:因为在我的代码中我禁用了excel的提示,当我试图保存时,我没有看到提示告诉我我试图以不正确的格式保存.
基本上总结一下,Excel不喜欢我的文件名中有反斜杠("/")(我真的应该知道)
修复:我最终使用了这个声明:
ActiveWorkbook.SaveAs Filename:="Z:...\" & "Chase " & _
Month(theDate) & "_" & Day(theDate) & "_" & Year(theDate) & ".xlsx"
Run Code Online (Sandbox Code Playgroud)
所以我在这里真正做的就是将月,日和年组合成一个由下划线分隔的字符串,以避免邪恶的反斜杠.
谢谢你的帮助Gaffi!
| 归档时间: |
|
| 查看次数: |
19803 次 |
| 最近记录: |