【问题标题】:How can I save Worksheet A to folder A and worksheet B to folder B?如何将工作表 A 保存到文件夹 A 并将工作表 B 保存到文件夹 B?
【发布时间】:2016-03-29 11:58:26
【问题描述】:

如何在 VBA Excel 中将 Sheet1 保存到文件夹 A,将 Sheet2 保存到文件夹 B?
在我的工作簿中,我有 4 个工作表 C 后端,工作表 D 是接口。

文件夹路径是:

  • C:\Main Folder\Folder A\
  • C:\Main Folder\Folder B\

    FilePath1 = "C:\Main Folder\Folder A\"
    FilePath2 = "C:\Main Folder\Folder B\"
    
    Sheets("Sheet1").Copy
    Filename = ControlNumber.Value
    ActiveWorkbook.SaveCopyAs FilePath1 & "\" & Filename & ".xls"
    ActiveWorkbook.Close savechanges:=False
    
    Sheets("Sheet2").Copy
    Filename = ControlNumber.Value
    ActiveWorkbook.SaveCopyAs FilePath2 & "\" & Filename & ".xls"
    

【问题讨论】:

标签: vba excel save


【解决方案1】:

你的代码对我来说很好用这种方式

FilePath1 = "C:\Main Folder\Folder A\"
FilePath2 = "C:\Main Folder\Folder B\"

Sheets("Sheet1").Copy
Filename = ControlNumber.Value
ActiveWorkbook.SaveAs FilePath1 & Filename & ".xls"
ActiveWorkbook.Close savechanges:=False

Sheets("Sheet2").Copy
Filename = ControlNumber.Value
ActiveWorkbook.SaveCopyAs FilePath2 & Filename & ".xls"
ActiveWorkbook.Close savechanges:=False

你得到了什么错误?

用于测试我设置:

Dim ControlNumber As Range
Set ControlNumber = Sheet1.Cells(1, 1)
Dim FilePath1 As String, FilePath2 As String, Filename As String

编辑

On Error Resume Next
MkDir Environ("USERPROFILE") & "\Main Folder"
MkDir Environ("USERPROFILE") & "\Main Folder\Folder A\"
MkDir Environ("USERPROFILE") & "\Main Folder\Folder B\"
On Error GoTo 0

FilePath1 = Environ("USERPROFILE") & "\Main Folder\Folder A\"
FilePath2 = Environ("USERPROFILE") & "\Main Folder\Folder B\"

Sheets("Sheet1").Copy
Filename = ControlNumber.Value
ActiveWorkbook.SaveAs FilePath1 & Filename & ".xls"
ActiveWorkbook.Close savechanges:=False

Sheets("Sheet2").Copy
Filename = ControlNumber.Value
ActiveWorkbook.SaveCopyAs FilePath2 & Filename & ".xls"
ActiveWorkbook.Close savechanges:=False

【讨论】:

  • 运行时错误“1004”:Microsoft Excel 无法访问文件“C:\Main Folder\Folder A\Filename1.xls。有几个可能的原因: 文件名或路径不存在。该文件正被另一个程序使用。您尝试保存的工作簿与当前打开的工作簿同名。
  • 文件夹是否存在?该文件是否正被另一个用户/进程使用?
  • 是的,所有文件夹都已经存在并准备好了......这就是为什么我对它感到困惑,我仍然收到错误消息,但是如果我使用 Thisworkbook.path 而不是 Filepath1,我保存工作表 1...但工作表 2 出错
  • 我没有遇到任何错误...将再次运行一些测试...等一下
  • 在某些路径下可能无法正常工作...请尝试编辑中的代码,然后转到您的个人资料“C:\Users\[profilename]\Main Folder\”
【解决方案2】:

您已包含路径分隔符两次,即在文件路径中以及在保存文件时。从文件名或保存时删除“/”

FilePath1 = "C:\Main Folder\Folder A\"
 ActiveWorkbook.SaveCopyAs FilePath1 & "\" & Filename & ".xls"

【讨论】:

  • 哦,呃...喜欢我的评论? :D
  • 绝对没有看到您的评论,否则会喜欢它。
  • 一切都很好^^
  • 运行时错误“1004”:Microsoft Excel 无法访问文件“C:\Main Folder\Folder A\Filename1.xls。有几个可能的原因: 文件名或路径不存在。该文件正被另一个程序使用。您尝试保存的工作簿与当前打开的工作簿同名。
  • 检查指定位置是否已经存在同名文件。
猜你喜欢
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多