我是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.我想使用原始工作表中的整个单元格范围生成这些工作表。这有意义吗?有人可以帮忙吗?
答案 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
。