Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:根据用户表单的结果选择多个工作表-用于更新和打印_Excel_Dynamic_Worksheet_Vba - Fatal编程技术网

Excel VBA:根据用户表单的结果选择多个工作表-用于更新和打印

Excel VBA:根据用户表单的结果选择多个工作表-用于更新和打印,excel,dynamic,worksheet,vba,Excel,Dynamic,Worksheet,Vba,我正在创建一个excel工作簿,用于隐藏工作表选项卡的客户端。我希望有一个用户窗体弹出窗口,客户可以在复选框中选择他们想要的页面,然后一起选择这些页面(以便更新页面编号)并连续打印 从我看到的其他选项中,我已经用工作表名称的名称填充了一个特定的工作表,如下所示: Dim iRow As Long Set PP = Worksheets("Printing Page") Dim CB1 As Worksheet Set CB1 = Worksheets("Retail, Mall, Shoppin

我正在创建一个excel工作簿,用于隐藏工作表选项卡的客户端。我希望有一个用户窗体弹出窗口,客户可以在复选框中选择他们想要的页面,然后一起选择这些页面(以便更新页面编号)并连续打印

从我看到的其他选项中,我已经用工作表名称的名称填充了一个特定的工作表,如下所示:

Dim iRow As Long
Set PP = Worksheets("Printing Page")
Dim CB1 As Worksheet
Set CB1 = Worksheets("Retail, Mall, Shopping Centres")
Dim CB2 As Worksheet
Set CB2 = Worksheets("Sports & Social Clubs")

    'Clear & Populate the sheet
    PP.Cells.Clear

    PP.Cells(1, 1).Value = Chr(34) & CB1.Name & Chr(34)
    PP.Cells(2, 1).Value = Chr(34) & CB2.Name & Chr(34)


    'Check each checkbox and enter the sheet number in PP

    If Me.CBRetailMallSC = False Then
        PP.Rows(1).Delete
    End If

     If Me.CBSportsSocial = False Then
        PP.Rows(2).Delete
    End If
从这里开始,我尝试将这些值转换为数组,并转置或运行类似的函数。 但是,我总是收到一条错误消息,说“运行时错误9-下标超出范围”,并指向工作表(x)

请帮帮我,我完全迷路了


PS:如果只选中了一个复选框,则所有内容都会正常运行,但一旦选中两个复选框,则所有内容都会中断。

客户是否会使用复选框来选择要打印的隐藏页?你想把它们打印成一个文档而不是几个不同的文档

如果是这样,这就是你需要的逻辑。您可以将其他页面复制到一个特殊页面,这是正确的。(我不明白你为什么要删除“PP”页面上的行。)你可以在打印页面上添加页眉和页脚以及页码。您只需跟踪打印页上最后使用的行

对于客户选择的每张图纸,复制使用范围。(这有助于将宽度保持在正常的图纸尺寸内,也可以通过编程强制打印 整页大小。)将第一张复制的纸张粘贴到打印纸张的“A”行。查找打印页最后使用的行并添加1行。在那里放一个分页符。添加另一行并将第二张选定图纸粘贴到该行,依此类推