excel - VBA 宏将工作表拆分为新的工作簿
问题描述
我对 vba/macros 很陌生,我创建了一个将多个工作表拆分为新的 excel 文件的宏。但是,当我运行宏时出现 1004 错误。
下面是我的代码。
Private Sub CommandButton2_Click()
Dim workbookPath As String
workbookPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each wSheet In ThisWorkbook.Sheets
wSheet.Copy
Application.ActiveWorkbook.SaveAs Filename:=workbookPath & "C\Path.xlsm" & wSheet.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
解决方案
您正试图在您的代码行中插入两条路径。
由于您定义了workbookPath
不需要使用的变量"C\Path.xlsm"
。您需要删除"C\Path.xlsm"
和插入"\"
之前wSheet.Name
。请参阅下面的基本代码。使用验证后将 Debug.Print(s) 注释掉。
Dim workbookPath As String: workbookPath = ThisWorkbook.Path 'ThisWorkbook is the macro enabled workbook.
Debug.Print ThisWorkbook.Path 'open the immediate window to varify to verify the path of the macro enabled workbook.
For Each wSheet In ThisWorkbook.Sheets
wSheet.Copy
ActiveWorkbook.SaveAs Filename:=workbookPath & "\" & wSheet.Name & ".xlsx"
'When you save a sheet as a workbook it becomes the activeworkbook
Debug.Print ActiveWorkbook.Path & "\"; ActiveWorkbook.Name 'use to verify the path of the new workbook.
ActiveWorkbook.Close False
Next wSheet
End Sub
推荐阅读
- python - 如何从地图中提取个人回报?
- python - 熊猫 groupby 的 SettingWithCopyWarning
- reactjs - Mui Select MenuProps 未应用于从方法返回的 MenuItems?
- python - Tensorflow 矩阵指数产生矩阵求逆问题?
- python - python 3.9 isdigit() 不适用于 raw_input()
- perl - Net::SSH::Expect + JunOS 转义双引号时不返回输出
- android-studio - 手动从计算机驱动器中删除 Flutter“构建”文件夹是否安全?
- angular - 带有 forRoot 抛出错误的 Angular 导入库
- python - 数字签名如何处理大整数?
- vue.js - MethodNotAllowedHttpException 使用惯性