【问题标题】:Name worksheets based on a list of Names根据名称列表命名工作表
【发布时间】:2015-08-06 05:03:05
【问题描述】:

我正在尝试根据 范围 ("F4") 到 lastrow 的 sheets("Run") 中的名称列表来命名 新创建的工作表

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

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

【问题讨论】:

    标签: vba loops excel


    【解决方案1】:

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

    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
    

    【讨论】:

    • 感谢您。但是我收到“需要对象”错误。
    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 2022-08-09
    • 2014-09-02
    • 1970-01-01
    • 2022-10-15
    • 2015-08-03
    • 2021-08-23
    • 2017-03-16
    相关资源
    最近更新 更多