Уважаемые подскажите пожалуйста ,как сделать ,все перепробовал чего то ничего у меня не получается. Необходимо что распечатывало те страницы которые будут заполнены данные , к примеру если есть данные в А8 а в других нет то распечатывало только табель 1страницу если есть данные А36 и А8,А70 и А 104 только их . Имеется ввиду если есть данные в А8,А36,А70,А104 ,распечатывало только те стр где есть данные. Спасибо огромное за ранее за ответ . если можно на примере!
Уважаемые подскажите пожалуйста ,как сделать ,все перепробовал чего то ничего у меня не получается. Необходимо что распечатывало те страницы которые будут заполнены данные , к примеру если есть данные в А8 а в других нет то распечатывало только табель 1страницу если есть данные А36 и А8,А70 и А 104 только их . Имеется ввиду если есть данные в А8,А36,А70,А104 ,распечатывало только те стр где есть данные. Спасибо огромное за ранее за ответ . если можно на примере!lebvitali
Sub Prn() Dim i As Long, ar ar = Array("A8", "A36", "A70", "A104") With Sheets("ОтчетТ") For i = 0 To UBound(ar) If .Range(ar(i)) <> "" Then .PrintOut From:=i + 1, to:=i + 1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Next i End With End Sub
[/vba]
Попробуйте так [vba]
Код
Sub Prn() Dim i As Long, ar ar = Array("A8", "A36", "A70", "A104") With Sheets("ОтчетТ") For i = 0 To UBound(ar) If .Range(ar(i)) <> "" Then .PrintOut From:=i + 1, to:=i + 1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Next i End With End Sub
Sub Prn() Dim i As Long, ar ar = Array("A8", "A36", "A70", "A104") With Sheets("ОтчетТ") For i = 0 To UBound(ar) If .Range(ar(i)) <> "" Then .PrintOut From:=i + 1, to:=i + 1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Next i End With End Sub
[/vba]
Елена,а если в ячейках "A8", "A36", "A70", "A104" не числовое значение а ссылка на данные с другого листа (=B7),ругается на If .Range(ar(i)) <> "" Then
Sub Prn() Dim i As Long, ar ar = Array("A8", "A36", "A70", "A104") With Sheets("ОтчетТ") For i = 0 To UBound(ar) If .Range(ar(i)) <> "" Then .PrintOut From:=i + 1, to:=i + 1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Next i End With End Sub
[/vba]
Елена,а если в ячейках "A8", "A36", "A70", "A104" не числовое значение а ссылка на данные с другого листа (=B7),ругается на If .Range(ar(i)) <> "" Thengge29
Сообщение отредактировал Serge_007 - Пятница, 23.07.2021, 12:21
если в ячейках "A8", "A36", "A70", "A104" не числовое значение
здесь проверяется пустая или непустая ячейка, а число или текст неважно. Возможно, надо подбирать другое условие, но без примера ответить не смогуPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816