excel - 根据单元格值选择工作表

标签 excel vba

使用 Excel 365。 我正在尝试根据 ThisWorkbook 工作表数据单元格 K4 中的团队数量,从“锦标赛主格式 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

最佳答案

我无法发表评论,因为我没有足够的声誉,但请尝试使用 Debug.Print Size 并查看这是否是正确的 Size 值。如果是正确的值,现在检查是否存在与 Size 值相同的工作表。

此外,我建议不要使用 .Activate 而是使用:

Size = Workbooks("Scheduling Test Template.xlsx").Sheets("Data").Range("K4").Value

诗。如果您在此答案下发表评论,我将能够加入与您和 braX 的对话。

关于excel - 根据单元格值选择工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168439/

相关文章:

excel - 仅复制粘贴值( xlPasteValues )

image - 在自定义 UI 编辑器上插入图像

vba - 将字体结果保留为图像?

VBA循环和变量 - 找到空白行并将行号放入变量中

Excel vba更快地读取大量文件

java - 从webtable中获取值并循环写入excel表中的每一行

javascript - RegEx 在 VBA 和 JavaScript 中的处理方式有何不同?

vba - VBA 中相对引用的条件格式不适用于德语 Excel

excel - 根据段落内单元格内的单个单词将整行从一张纸复制到另一张纸

vba - 使用 VBA 编辑器创建 DLL