Sub PDF_Галеника()
Application.ScreenUpdating = False
Worksheets("Галеника").Select
Dim Fname As String
Fname = "C:\Users\LESINVEST-M\Desktop\Галеника\Заявки\" & Worksheets("Галеника").Range("B8").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fname, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Worksheets("Данные").Select
End Sub
Макрос выполняет сохранение листа книги в формате PDF, но, если в ячейке B8, нет данных, макрос выдает ошибку и открывается VBA. Какую строчку необходимо дописать, что бы при отсутствии данных в ячейке B8, макрос выдал СООБЩЕНИЕ о пустой ячейке, а не переходил в VBA.
Роман: Какую строчку необходимо дописать, что бы при отсутствии данных в ячейке B8, макрос выдал СООБЩЕНИЕ о пустой ячейке
Пробуйте
Код
' вставить между 4ой и 5ой строкой
Fname = "C:\Users\LESINVEST-M\Desktop\Галеника\Заявки\" & Worksheets("Галеника").Range("B8").Value2
If Len(Fname)=0 Then Msgbox "There is NO Value in Cell «B8»!", vbCrirtcal, "EMPTY": Exit Sub ' та самая проверка и сообщение с выходом
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
ну так при возвращении данных из пустой ячейки листа Список формула вернет 0, но никак не пусто. Поэтому надо определяться жестко: могут ли возвращаемые данные быть реально нулями, а не результатом вытяжки из пустых ячеек(т.е. допустимо ли приравнять 0 к пустой ячейке). Тогда можно что-то думать. В противном случае нужен вообще другой подход к решению задачи.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
это невозможно в силу его простоты - значит вы неверно описали причины
Цитата
Роман: [на совет выходить по любой ошибке] то что нужно
ну-ну — удачи с таким подходом
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
из самого очевидного могу сказать так: пропуск будет при любой ошибке, не обязательно при ошибке отсутствия данных в ячейке. Считать это ошибкой или нет - решать автору проблемы. Собственно, я уже писал примерно об этом:
Цитата
Дмитрий(The_Prist) Щербаков написал: надо определяться жестко: могут ли возвращаемые данные быть реально нулями, а не результатом вытяжки из пустых ячеек
т.е. любое ли значение в ячейке, приводящее к ошибке надо считать неверным или надо дополнительно обрабатывать. Я лично всегда за доп.обработки в таких случаях, но ведь бывает и неважно знать саму ошибку - лишь бы пользователь понимал, что создать файл не удалось и смотрел уже на месте по ходу дела. Автору подошло - значит решение верное
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
ну как бы да, однако автор вполне однозначно в шапке написал
Цитата
Роман: Какую строчку необходимо дописать, что бы при отсутствии данных в ячейке B8, макрос выдал СООБЩЕНИЕ о пустой ячейке
и я дал абсолютно ТОЧНЫЙ и ОДНОЗНАЧНЫЙ ответ, показав проверку ячейки на пустоту Редко, когда так однозначно получается и ещё более реже - когда это, якобы, "не подходит" — как ВООБЩЕ может не подойти проверка на пустоту ячейки, если именно её ты сам же и просил…? Хроники биполярочки, как по мне
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
' вставить между 4ой и 5ой строкой
With "C:\Users\LESINVEST-M\Desktop\Галеника\Заявки\" & Worksheets("Галеника").Range("B8")
If .HasFormula Then MsgBox "There is Formula in Cell «B8»!", vbCrirtcal, "FORMULA": Exit Sub ' проверка на формулу
FName = .Value2: If Len(FName) = 0 Then MsgBox "There is NO Value in Cell «B8»!", vbCrirtcal, "EMPTY": Exit Sub ' присвоение значения перемнной и проверка на пустоту
End With
Роман, впредь при изменении условий, обновляйте шапку темы, т.к. не всем интересно читать переписку, а также вместо "Нет, Ваш прием не помог" в ваших же интересах написать, почему
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄