簡體   English   中英

通過單元格值和工作表名稱失敗將多個Excel工作表另存為單獨的工作簿嗎?

[英]Save multiple Excel worksheets as indivudual workbooks by cell value and sheet name failure?

我已經搜索了多個論壇,以查看是否可以找到為什么一段代碼無法正常工作但還沒有找到答案的原因。

我的VBA並不出色,我從前輩那里繼承了這段代碼。

這部分代碼通過使用工作表名稱將每個獨立工作表另存為新工作簿。

Dim NewBook As Workbook, OldBook As Workbook, sh As Worksheet

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False


Set OldBook = ThisWorkbook

For Each sh In OldBook.Worksheets
    If sh.Visible = True Then
        sh.Copy
        ActiveWorkbook.SaveAs Filename:="Pathway" & "\" & sh.Name, FileFormat:=xlExcel8
        ActiveWorkbook.Close
    End If
Next

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

ActiveWorkbook.Close False

這工作正常,將為我創建工作表,但現在我需要使用每個工作表(B1)中相同的單元格值來添加文件名,因此我嘗試添加到代碼中。

ActiveWorkbook.SaveAs Filename:="Pathway" & "\" & sh.Range("B1").Value & sh.Name, FileFormat:=xlExcel8

但是,這樣做會導致“運行時錯誤'1004':沒有活動的受保護的視圖窗口”,但是我不太確定為什么會這樣?

在這里的任何幫助將不勝感激。

這可能是由於您的路徑不是Windows接受的文件名字符串。 當您在路徑上添加B1時出現問題,這似乎是問題的根源。 檢查單元格B1是否包含文件名中不允許的任何字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM