Страницы: 1
RSS
Макрос для печати определенных страниц листа
 
Добрый день, подскажите почему не работает макрос печати определенных страниц листа. Например, если AL47=0, то эту страницу не печатаем, а если AL47>0 то печатаем, и т.д.
Код
Sub Print_IN16()
      ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL47") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL93") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=3, To:=3, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL139") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=4, To:=4, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL191") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=5, To:=5, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL241") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=6, To:=6, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL291") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=7, To:=7, Copies:=1, Collate:=True
    If ActiveSheet.Range("AL341") <> 0 Then _
       ActiveWindow.SelectedSheets.PrintOut From:=8, To:=8, Copies:=1, Collate:=True
End Sub
 
Добрый день.
Есть аналогичная тема - https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=34010
 
Код
Sub Print_IN16()
    Dim aRows()
    Dim i As Long
    
    aRows = Array(47, 93, 139, 191, 241, 291, 341)
    
    With ActiveSheet
        For i = 0 To UBound(aRows)
            If .Range("AL" & aRows(i)).Value <> 0 Then
                .PrintOut From:=i + 1, To:=i + 1, Copies:=1, Collate:=True
            End If
        Next i
    End With
End Sub
 
Ребята, спасибо всем большое, все работает. Всем хорошего дня.
Страницы: 1
Наверх