使用Excel 365。 我正在尝试根据ThisWorkbook工作表数据(单元格K4)中的小组人数,以“ Tournament Master Format 36.xls”(所有选项卡为数字,根据括号中的小组人数)从模板中复制工作表。>
Sub CopyPaste()
Dim Size As String
Size = "ThisWorkbook.Sheets("Data").Range("K4")"
Workbooks("Tournament Master Format 36.xls").Sheets(Size).Range("A1:AO311").Copy _
ThisWorkbook.Sheets("Sheet4").Range("A1")
End Sub
更新代码:
Sub CopyPaste()
Dim Size As String
Dim i As Integer
Dim SheetNum As String
Dim ws As Worksheet
Workbooks("Scheduling Test Template.xlsx").Sheets("Data").Activate
For i = 2 To 10
'Size = Cells(i, 11).Value
Size = CStr(Workbooks("Scheduling Test
Template.xlsx").Sheets("Data").Range("K4").Value)
'SheetNum = CStr(Cells(i, 10)) + " & Under"
SheetNum = i
Debug.Print Size
If Size > 0 Then
Set ws =
ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets
(ThisWorkbook.Sheets.Count))
ws.Name = SheetNum
Workbooks("Tournament Master Format 36.xls").Sheets(Size)
.Range("A1:AO311").Copy ThisWorkbook.Sheets(SheetNum).Range ("A1")
End If
Next i
End Sub
答案 0 :(得分:3)
我没有评论,因为我没有足够的声誉,但是请尝试使用Debug.Print Size
,看看这是否是Size的正确值。如果它是正确的值,请检查是否存在与Size
值相同的图纸。
此外,我建议您不要使用.Activate
,而应使用:
Size = Workbooks("Scheduling Test Template.xlsx").Sheets("Data").Range("K4").Value
Ps。如果您在此答案下发表评论,我将能够与您和braX进行对话。