0
基本上,我有一列值得我需要经过并用于创建新工作簿的名称,每个工作表名称都来自柱。我在复制过程中遇到问题。这里是我的代码:无法使用Excel中的列中的值来命名新工作簿中的工作表
Sub copySheet()
Dim oldBook As String
Dim newBook As String
Dim myRange As Range
Set myRange = Sheets("TOC").Range("O5:O381")
oldBook = ActiveWorkbook.name
For Each Cell In myRange
If Not Cell = "" Then
a = a + 1
ReDim Preserve myArray(1 To a)
myArray(a) = Cell
End If
Next
For a = 1 To 2
If a = 1 Then
myArray(a).Copy
newBook = ActiveWorkbook.name
Workbooks(oldBook).Activate
Else
myArray(a).Copy After:=Workbooks(newBook).Sheets(a - 1)
End Sub
我没有读完你的代码,所以我可能是错的。但对于添加工作表,请尝试'Sheets.Add'(请参阅[这里](https://stackoverflow.com/a/3840728/1726522))。此外,您将oldBook和newBook都称为“ActiveWorkbook”:出现问题。如果代码在旧工作簿中,请使用'oldBook = Thisworkbook.name',并且新代码可以硬编码名称,或者根据您的需要创建它。 – CMArg