【问题标题】:Rename sheets using different file使用不同的文件重命名工作表
【发布时间】:2020-06-10 20:18:40
【问题描述】:

有人可以告诉我如何使用不同的 excel 文件重命名工作表名称。

这是我的主文件,使用这个文件我可以重命名文件名。重命名文件名是可以的。但我不知道如何使用Column B 中的路径和文件名来重命名它的工作表名。

我可以使用此代码重命名工作表名称:

Sheets(1).Name = "New Name"

但我可以将该代码应用到它自己的工作簿上。

如何使用column B 文件路径和名称根据column B 值重命名工作表名称。

【问题讨论】:

  • 签出this
  • @JvdV 我认为该链接是指重命名文件名。我的问题是我需要根据Column B 文件路径和名称重命名工作表名称。例如。我在Column B 中有这个路径和名称C:\Test\Test.xlsx 我需要将C:\Test\Test.xlsx 的工作表名称重命名为Column C 中的值。
  • 澄清一下:您想将每个列出的文件中Sheet(1)的名称更改为Column B中的名称?
  • @Zac 是的!这就是我想要的。
  • 嗯,从你的问题中我不清楚。那么对不起。

标签: excel vba


【解决方案1】:

请在附件中找到符合您要求的代码。我对其进行了测试并为我工作。它将 b 列中每个单元格中的地址所引用的文件的第一张表的名称(从第三行开始)编辑为 c 列中的值。

Sub Button1_Click()
    Dim i As Integer
    Dim wsh As Worksheet
    Dim Pat As String
    Dim ShName As String

    Set wsh = Sheets("sheet1") 'rename this with the name of the sheet in your screenshot

    For i = 3 To wsh.Cells(Rows.Count, 1).End(xlUp).Row
        Pat = wsh.Cells(i, 2).Value            'get Path name from column B (2)
        ShName = wsh.Cells(i, 3).Value         'get Name from Column C (3)
        Workbooks.Open(Pat).Sheets(1).Name = ShName 'open workbook to change name of sheet
        ActiveWorkbook.Close saveChanges:=True  'close workbook, skip dialog (save)
    Next
End Sub

【讨论】:

  • 谢谢!它有效,我刚刚编辑了一些代码以适合我现有的代码。
猜你喜欢
  • 1970-01-01
  • 2019-12-28
  • 2016-02-28
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 2020-11-02
  • 2018-12-28
相关资源
最近更新 更多