VBA/Macro 更改选项卡名称的脚本

VBA/Macro script to change a tab name

我已经对最近提供的脚本(发布在最底部)应用了更改,它正在运行并在下面列出。 (感谢 PeterB)

现在对于处理的每个文件,我想:

我是 vba 的新手,相信一旦我学会了 DIM 的用法,接下来的步骤就会更加清晰。

我的感觉是,在我移动到下一个要处理的文件之前,我需要使用维度名称,紧接着我已经尝试过......但它不起作用。

谢谢!

    'not working!!!
    'File #1
    wb_source.Name = ActiveWorkbook.Name
    wb_source.Sheets("xAccountARAgingPatient.xlsx").Copy 
    after:=wb_target.Sheets(wb_target.Sheets.Count)
    Application.DisplayAlerts = False
    wb_source.Close
    Application.DisplayAlerts = True
    'working
    Sub wwwww()
    Dim wb_source As Workbook
    Dim wb_target As Workbook
    
    Application.DisplayAlerts = False
    
    Set wb_source = Workbooks.Open("C:\Test\xAccountARAgingPatient.xlsx")
    Set wb_target = Workbooks.Open("c:\Test\MEBIllingOffice.xlsm")
    
    'assumes the sheet name is "xAccountARAgingPatient.xlsx" note - sheet names must be 
    unique within target
    'File #1
    wb_source.Sheets("xAccountARAgingPatient.xlsx").Copy 
    after:=wb_target.Sheets(wb_target.Sheets.Count)
    wb_source.Close
    
    'File #2
    Set wb_source = Workbooks.Open("C:\Test\xAccountARAgingPayer.xlsx")
    wb_source.Sheets("xAccountARAgingPayer.xlsx").Copy 
    after:=wb_target.Sheets(wb_target.Sheets.Count)
    wb_source.Close
    
    'File #3'
    Set wb_source = Workbooks.Open("C:\Test\xCashAgingAnalysis.xlsx")
    wb_source.Sheets("xCashAgingAnalysis.xlsx").Copy 
    after:=wb_target.Sheets(wb_target.Sheets.Count)
    wb_source.Close
    
    
    'wb_target.Save
    'wb_target.Close
    
    Application.DisplayAlerts = True
    End Sub

从您的评论来看,您似乎在尝试重命名工作表。

但是您的代码看起来像是在尝试通过将工作簿名称分配给工作簿名称的只读值来重命名工作簿。确实令人困惑 - 并且肯定会导致该错误

根据您的示例,我假设您希望重命名 wb_source 中的工作表。 不清楚何时拆分代码以了解当时激活的工作簿。

尝试将名称分配给活动工作簿

的作品Sheet
ActiveWorkbook.ActiveSheet.Name = wb_source.Name

或者如果它实际上是源文档 - 只需使用它,这样您就不需要知道它是否有效。

wb_source.ActiveSheet.Name = wb_source.Name