使用列表中的名称重命名所选工作表

我必须不断重新命名我选定的工作表(工作表的选项卡),以便使用新的名称,数字或其他标准对它们进行sorting。

我已经在一个特定的表格中创build了所有名称的表格,并且在处理该表格(更改名称,数字等)之后,我只想使用它来重命名当前选定的表格。

例如,我select了任意5张纸,而且我想要一个代码,只会根据表格中的FIRST FIVE值重新命名这5张纸,特别是SHEET。

我在下面做了一些划伤性的工作,但是这不会引导我到任何地方。

Sub Sheets_Naming_current() Dim ws As Worksheet, wb As Workbook Dim nmRange As Range Dim count As Integer Set wb = ActiveWorkbook Set nmRange = wb.Sheets("Totals").Range("D2:D25") count = 0 On Error Resume Next For Each ws In ActiveWindow.SelectedSheets count = count + 1 ws.Name = nmRange.Offset(i, 0).Value Next ws End Sub 

提前致谢!

您需要在循环内进行一些更改。

首先 – 你的i variable总是返回零,你宁愿在抵消时使用count variable

其次 – 而不是偏移我会build议使用像以下介绍的Cells()引用。

build议的循环可能如下:

 '...your code here For Each ws In ActiveWindow.SelectedSheets count = count + 1 ws.Name = nmRange.Cells(count).Value Next ws '...your code here 

尝试下面的代码:

 Sub Sheets_Naming_current() Dim ws As Worksheet, wb As Workbook Dim count As Integer Set wb = ActiveWorkbook count = 2 On Error Resume Next For Each ws In ActiveWindow.SelectedSheets With Sheets("Totals") If ws.Name <> "Totals" And .Cells(count, 4) <> "" Then ws.Name = .Cells(count, 4) count = count + 1 End If End With Next ws End Sub