尝试使用宏为多个工作表名称使用一系列单元格值

时间:2016-09-27 15:37:10

标签: excel vba excel-vba macros

我是VBA的新手,我正在努力实现它。我有多个工作表名称所需的单元格编号。目前,我正在根据我的行数创建多个工作表,如下所示。

    Sub Copier()
    Dim x As Integer
    x = InputBox("Enter number of times to copy worksheet")
    For numtimes = 1 To x
    ActiveWorkbook.Sheets("OMRS 207").Copy _
    After:=ActiveWorkbook.Sheets("OMRS 207")
    Next
    End Sub

现在,只获取一个名称,OMRS 207.我想使用原始工作表中的整个单元格范围生成这些工作表。这有意义吗?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

尝试以下代码。

Dim data As Worksheet
Dim rng As Range

Set data = ThisWorkbook.Sheets("Sheet1")
Set rng = data.Range("A2")

Do While rng <> ""

ThisWorkbook.Worksheets.Add
ActiveSheet.Name = rng.Value
Set rng = rng.Offset(1, 0)
Loop

我假设您的数据从Sheet1的第2行开始,您希望工作表名称按照A列中的值进行。

如果您希望行号作为新添加的工作表的工作表名称,请在为工作表分配名称时使用rng.row