我必须连续重命名我选择的纸张(纸张标签),以便通过新添加更新它们,即根据新名称,数字或其他标准对它们进行排序。
我已经在一个特定工作表中创建了一个表格,并在处理完该表后(更改名称,数字等),我想用它来重命名当前选定的工作表。
e.g。我选择任意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
提前致谢!
答案 0 :(得分:0)
您需要在循环内进行一些更改。
首先 - 您的i variable
始终返回零,您需要在抵消时使用count variable
。
第二次 - 我建议您使用Cells()
参考,而不是偏移量。
建议的循环可以如下:
'...your code here
For Each ws In ActiveWindow.SelectedSheets
count = count + 1
ws.Name = nmRange.Cells(count).Value
Next ws
'...your code here
答案 1 :(得分:0)
尝试以下代码:
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