我有一个 excel 名称范围内的值列表。我想编写一个 VB 代码,以便使用这些值列表创建工作表。这些值列表不断变化。
这是代码:
Sub AddSheets()
Dim cell As Excel.Range
Dim wsWithSheetNames As Excel.Worksheet
Dim wbToAddSheetsTo As Excel.Workbook
Dim i As Integer
i = 0
Set wsWithSheetNames = ActiveSheet
Set wbToAddSheetsTo = ActiveWorkbook
For Each cell In wsWithSheetNames.Range("sheet_name").End(xlDown)
With wbToAddSheetsTo
.Sheets.Add after:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = cell.Value
If Err.Number = 1004 Then
Debug.Print cell.Value & " already used as a sheet name"
End If
On Error GoTo 0
End With
Next cell
这里sheet_name
(单列中的单元格)是转储要创建的工作表名称的名称范围。张数可能会改变。
我上面的代码不能正常工作,它只是创建了一个工作表,工作表名称是这个范围内的最后一个值。我哪里出错了?我是 VB 的新手。有什么更好的方法来做到这一点?