Törölt nick Creative Commons License 2013.09.26 0 0 22280

Én sem ismerem a probléma részleteit, de azért belekotyogok, hátha megsértődik valaki :)

Szóval, először is, nem kell aktiválni/kijelölni (Activate/Select) a munkalapot ahhoz, hogy nyomtassunk. (Már egy ideje küzdök itt a felesleges Select-ek ellen, de hiába...)

Másodszor, ha sokaságból akarsz név szerint kiválasztani néhány elemet, akkor azt ciklussal (szerintem) úgy a legjobb, ha a neveket szép sorban felveszed egy sztringbe, aztán a sztringből csinálsz egy tömböt a Split utasítással, majd végigmész a tömb elemein. Lásd a kódot alább.

Harmadszor, a hibaüzeneted szerintem is abból fakad, hogy a kiválasztani (Select) kívánt lap rejtett. Sajnos ezen az én módszerem sem segít, mert rejtett lapot nem tudok nyomtatni, ezért a kódba beraktam egy ideiglenes felfedést.

 

Sub ciklus2()
    Const cMunkalapok = "Management Accounts Hotel/Management Accounts Apartments/Rooms/F&B Summary"
    Const cPrintAreak = "AN1:BZ70/AN1:BZ110/AN1:BZ199/AN1:BZ134"
    Dim inti As Integer, arrMunkalapok, arrPrintareak, ws As Worksheet
    
    arrMunkalapok = Split(cMunkalapok, "/")
    arrPrintareak = Split(cPrintAreak, "/")
    For inti = LBound(arrMunkalapok) To UBound(arrMunkalapok)
        On Error GoTo hiba
        Set ws = ThisWorkbook.Worksheets(arrMunkalapok(inti))
        ws.PageSetup.PrintArea = arrPrintareak(inti)
        If ws.Visible <> xlSheetVisible Then
            ws.Visible = xlSheetVisible
            ws.PrintOut Copies:=1
            ws.Visible = xlSheetHidden
        Else
            ws.PrintOut Copies:=1
        End If
hibaután:
    Next
    Exit Sub
hiba:
    MsgBox "A '" & arrMunkalapok(inti) & "' nevű munkalap nem található."
    Debug.Print Err.Number, Err.Description
    Resume hibaután
End Sub

Előzmény: exszajmon (22274)