2017-04-20 64 views
0

我正在創建一個用於隱藏工作表選項卡的客戶端的Excel工作簿。我想要彈出一個用戶窗體,客戶可以在複選框中選擇他們想要的頁面,然後一起選擇這些頁面(以便更新頁面編號)以及連續打印。Excel VBA:基於用戶表單的結果選擇多個工作表 - 用於更新和打印

從我所看到的其他選項,我已經填充了表名稱的名稱作爲這樣的特定片材:我已經嘗試過轉向這些值到一個數組,移調或

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 

從那裏運行一個像這樣的功能link。 但是,我總是收到一條錯誤消息,指出「運行時錯誤9 - 下標超出範圍」並指向表格(x)。選擇代碼行。

請大家幫忙,我完全失去了!

PS:如果只有一個複選框被選中,那麼一切運行良好,但只要2就會中斷。

回答

0

客戶是否使用複選框選擇想要打印的隱藏頁的想法?你想打印出來作爲一個單一的文件,而不是幾個不同的文件?

如果是這樣,這是你需要的邏輯。你有一個特殊的頁面來複制其他頁面是正確的。 (我不明白爲什麼要從「PP」頁面刪除行)。您可以在打印頁面上添加包含頁碼的頁眉和頁腳。您只需要跟蹤打印頁上最後一次使用的行。

對於客戶選擇的每張紙,複製使用的範圍。 (這有助於將寬度保持在正常的紙張大小範圍內,或者可以通過編程強制打印完整頁面大小。)將第一張複印的紙張粘貼到打印紙張的行「A」上。查找打印頁的最後一個使用行並添加1行。在那裏放一個分頁符。添加另一行並將第二個選定的工作表粘貼到該行,等等。

相關問題