根据名称列表命名工作表

时间:2015-05-24 17:05:06

标签: vba loops excel-vba excel

我正在尝试根据工作表中的名称列表命名新创建的工作表 <&#34;运行&#34; 来自范围(&#) 34; F4&#34;)到拉斯维加斯。

我的问题:宏只创建一个新的工作表,而不是根据列表中的名称数创建新的工作表。请参阅下面的代码:

Sub new_1()

  Dim RCount As Integer
  Dim n As Integer
  Dim test As Worksheet

  Sheets("Security Distribution").Copy After:=Sheets(Sheets.Count)
  Set test = ActiveSheet

  Application.ScreenUpdating = False

  Sheets("Run").Activate

  RCount = Range(Range("F5000").End(xlUp), Range("F4")).Rows.Count

  For n = 1 To RCount
    test.Name = Sheets("Run").Range("F4").Offset(n - 1, 0)
  Next n

  Application.ScreenUpdating = False

End sub

1 个答案:

答案 0 :(得分:3)

您创建新工作表的操作超出了重命名的循环。您将创建一个新的工作表并重命名它。

Sub new_1()

    Dim RCount As Integer
    Dim n As Integer

      Application.ScreenUpdating = False

      With Sheets("Run")
              RCount = .Range(.Range("F" & Rows.Count).End(xlUp), .Range("F4")).Rows.Count
              For n = 1 To RCount
                Sheets("Security Distribution").Copy After:=Sheets(Sheets.Count)
                Sheets(Sheets.Count).Name = .Range("F4").Offset(n - 1, 0).Value
              Next n
      End With

      Application.ScreenUpdating = False

End Sub