我是新手,如果我没有正确发布,请原谅我。
我有一个Excel文件,其中包含各种表格,其中一些名为V1,V2,...最多可能为Error in match.fun(FUN) :
'var(x = dt, na.rm = T)' is not a function, character or symbol
。
我在'工作表名称'单元格V15
中有一个表格:
B列包含当前工作表名称B2:C16
C列包含新的工作表名称/标签。
您是否能够提供一些VBA代码,以便能够将当前名为V1的工作表重命名为最大可能的V15到新值?
我根据列表中的命名表找到了相当多的东西,但没有找到vlookup样式。
V1-V15
非常感谢
答案 0 :(得分:1)
这就是我开始的方式。如果循环遍历表并选择工作表(可以通过修改set rng
语句来更改表的位置和大小),而不是循环遍历工作表然后尝试在表中找到答案,这将重命名所有在该范围内详述的工作表。
Sub RenSheets()
Dim rng as Range
Dim c
set rng = ThisWorkbook.Sheets("Sheet names").Range("B2:B16")
For each c in rng.cells
ThisWorkbook.Sheets(c.value).Name = c.offset(0,1).value
Next c
End Sub
答案 1 :(得分:0)
尝试不使用Sheets(i).Name
...如果工作表订单发生变化,您可能会遇到麻烦
Sub RenSheets()
Dim i As Integer
For i = 2 To 16 'Your Range = B2:C16
Sheets(Sheets("Sheet names").Cells(i, 2)).Name = _ 'sheet to rename
Sheets("Sheet names").Cells(i, 3) 'new sheetname
Next
End Sub