1

我必须不断地重命名我选择的工作表(工作表的标签),以便通过新添加来更新它们,即根据新名称、数字或其他标准对它们进行排序。

我已经在一个特定的工作表中制作了一个包含所有名称的表格,在处理该表格(更改名称、数字等)之后,我想用它来重命名当前选定的工作表。

例如,我选择任何 5 张纸,并且我想要一个代码,该代码将根据表中的前五个值(特别是 SHEET)仅重命名这 5 张纸。

我做了一些如下的临时工作,但它并没有把我带到任何地方。

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

提前致谢!

4

2 回答 2

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
于 2013-05-26T09:04:48.517 回答
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
于 2013-05-26T09:06:51.760 回答