Страницы: 1
RSS
Печать листа, если заполнена ячейка
 
Здравствуйте, подскажите как реализовать один проект, в книге 150 листов, работа идет на первом, и в зависимости от данных, на эти 150 листов они попадают, например в ячейку С50, но не на каждый лист, все зависит от данных, в общем можно сделать так что б все листы с заполненной ячейкой С50 шли на печать, точнее там два параметра, или цифра, или #НД что с нд на печать не шло что бы, а если там есть цифра то что б шло
 
denka1982, как то так например
Код
Sub printtt()
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "имя первого листа" Then
    If IsNumeric(sh.Cells(50, 3)) Then
    sh.PrintOut Copies:=1
    End If
    End If
Next sh
End Sub
Изменено: Mershik - 30.06.2020 12:36:54
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, маленько не так))
Код
Sub printtt()
Dim sh As Worksheet
   For Each sh In Worksheets
      If sh.Name <> "имя первого листа" Then goto nx
      If IsError(sh.Cells(50, 3)) Then goto nx
      If IsNumeric(sh.Cells(50, 3)) Then sh.PrintOut Copies:=1
nx: Next sh
End Sub
1. Проверка IsNumeric() даст ошибку на #НД, поэтому сначала проверяем на ошибки
2. не (3, 50), а (50, 3)
Изменено: Jack Famous - 30.06.2020 12:37:36
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, а точно) чет я строки перепутал со столбцами (изменил)
Не бойтесь совершенства. Вам его не достичь.
 
что то не хочет она работать
 
denka1982, ну во-первых кому вы пишите это? во-вторых я свой вариант проверял, ну и в третьих - докажите в файле ...
Не бойтесь совершенства. Вам его не достичь.
 
Где, в сообщении? Там и  не будет работать.
Показывать надо, а не жаловаться.
 
Цитата
denka1982: не хочет она работать
не верю
Изменено: Jack Famous - 30.06.2020 14:07:15
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
вот файлик, идея в чем, на первом листе вносишь данные, не стал щас делать там выпадающий список, они разносятся с помощью ВПР по нужным листам, и где например нет ничего, то не должно выходить на печать
 
denka1982, у меня работает макрос из #2
напечатались все листы кроме Лист1 и Лист5
Код
Sub printtt()
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "Лист1" Then
    If IsNumeric(sh.Cells(5, 3)) Then
    sh.PrintOut Copies:=1
    End If
    End If
Next sh
End Sub
Изменено: Mershik - 30.06.2020 14:54:45
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,у меня нажимаю на кнопку, и ничего не происходит
 
denka1982,  еще бы файл формата .xlsx не поддерживает макросы...
Изменено: Mershik - 30.06.2020 14:59:43
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, другие макросы работают, сменил формат, все равно не хочет, а вот другие макросы работают
Изменено: denka1982 - 30.06.2020 15:02:35
 
denka1982, вы мой файл попробовали ? или просто пишите и пишите и пишите))))
Не бойтесь совершенства. Вам его не достичь.
 
denka1982,понял в чем проблема, спасибо
 
denka1982, и в чём же?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Mershik,
Цитата
Jack Famous написал:
и в чём же?
то же интересненько
Не бойтесь совершенства. Вам его не достичь.
 
Jack Famous,в том что файл завис, макросы хоть и включены, но там нужно было просто закрыть и открыть заново
 
Mershik,все хорошо, вот только лист 7 не должен тоже печататься, в ячейке C3 пусто, а нужно что б печатал только те листы, которые что то содержат,  если заполнена определенная ячейка, в данном случае это ячейка С3, видно не хватает малюсенького кусочка кода))))
Страницы: 1
Наверх