Vba 基于查找表重命名图纸

Vba 基于查找表重命名图纸,vba,excel,Vba,Excel,我是新来的,所以请原谅我没有正确发布 我有一个Excel文件,其中包含各种表格,其中一些被命名为V1,V2。。。可能的最大值为V15 我在“工作表名称”单元格中有一个表B2:C16: B列包含当前图纸名称V1-V15 列C包含新的图纸名称/标签 您是否能够提供一些VBA代码,以便能够将当前称为V1的图纸重命名为新值,最大可能为V15 我发现很多东西都是基于列表中的命名表,但不是vlookup风格 Sub RenSheets() Dim i As Integer For i = 2 To

我是新来的,所以请原谅我没有正确发布

我有一个Excel文件,其中包含各种表格,其中一些被命名为V1,V2。。。可能的最大值为
V15

我在“工作表名称”单元格中有一个表
B2:C16

B列包含当前图纸名称
V1-V15

列C包含新的图纸名称/标签

您是否能够提供一些VBA代码,以便能够将当前称为V1的图纸重命名为新值,最大可能为V15

我发现很多东西都是基于列表中的命名表,但不是vlookup风格

Sub RenSheets()  
Dim i As Integer  
For i = 2 To Worksheets.Count  
    Sheets(i).Name = Sheets("Sheet names").Range("C" & 2 + i)  
Next i  
End Sub  

非常感谢

尽量不要使用
表格(i)。名称
。。。如果纸张顺序发生变化,您可能会遇到麻烦

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

这就是我开始的想法。如果您在工作表中循环并选择工作表(您可以通过修改
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  

这不是一个代码生成器服务,让我们看看你已经构建了什么或发现了什么对不起,我仍然在学习VBA,几乎所有东西都是在线查找的。