Excel 2007:我需要自动创建选项卡,并将选项卡名称放在每个新选项卡的单元格中。下面的命令按钮将创建新选项卡。它如何从名称列表中读取并自动在每个选项卡的单元格 B3 中创建一个名称相同的选项卡?
Private Sub CmdNewTAB_Click()
Worksheets("FocusAreas").Copy After:=Worksheets(Worksheets.Count)
'Active.Sheet.Name = NewSheet.Value
'Tab name in B3
End Sub
答案1
如果您的列表是 Excel 工作表中项目的值,并且您想要根据该列表添加选项卡,那么您可以执行以下操作:
Sub Readinto_array()
On Error Resume Next
Dim arrData() As Variant
arrData = Range("D5:D9").Value
For Each cData In arrData
If cData <> "" Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = cData
Worksheets(cData).Range("B3") = cData
End If
Next cData
End Sub
上述假设:
- 姓名列表与按钮位于同一张工作表上。
- 列表与按钮位于同一工作簿上。
这Worksheets(cData).Range("B3") = cData
是将工作表名称添加到单元格中的新工作表的部分B3
。
如果您可以以类似的方式指定列表的位置;如果它不与按钮在同一张表上,则在arrData = Range()
VBA 文件的部分中指定适当的值,例如: arrData = Worksheets("SourceSheet").Range("D5:D9").Value
。