#excel #vba
Вопрос:
Это мой текущий код, и я пробовал различные комбинации, но он печатает информацию только в столбцах A и B и игнорирует все данные в столбцах от D до O
Sheets("PartsList").Select
Dim LstRw As Long, PrnG As Range
LstRw = Cells(Rows.Count, "A").End(xlUp).Row
Set PrnG = Range("A15:O15" amp; LstRw)
ActiveSheet.PageSetup.PrintArea = PrnG
Комментарии:
1. Возможно, это не решит вашу проблему, но я думаю, вы имеете в виду следующее:
Range("A15:O" amp; LstRw)
-В противном случае результат былA15:O15100
бы таким, если бы в столбце A. использовалось 100 строк.2. Свойство printArea принимает строку, поэтому вы можете попробовать
ActiveSheet.PageSetup.PrintArea = "A15:O" amp; LstRw
, нет необходимости устанавливать диапазон. Документация3. Привет, Рэймонд, спасибо. Я попробовал ваше предложение, но оно выбирает только информацию в столбцах A и B и печатает их не во всех столбцах в столбце O
4. @JackvanHoof Я только что протестировал его, и он работает, попробуйте код в приведенном ниже ответе и посмотрите, работает ли он. Обратите внимание, что он устанавливает только область печати, Если вам нужно, чтобы печать была зафиксирована на 1 странице и т. Д., Тогда вам нужно изменить другие свойства.
Ответ №1:
PrintArea
свойство принимает String
значение, поэтому вы можете передать диапазон непосредственно в свойство (Документация):
Sub Test()
Const printRng As String = "A15:O"
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("PartsList")
Dim LstRw As Long
LstRw = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
ws.PageSetup.PrintArea = printRng amp; LstRw
Debug.Print ws.PageSetup.PrintArea
End Sub
Комментарии:
1. Привет, Рэймонд, Спасибо тебе еще раз. Я скопировал ваш код и все равно не сработал. Я всего лишь новичок в VBA, но меня очень расстраивает, когда оба кода, которые вы мне дали, не работают, и все же я уверен, что они должны работать. Я нахожу VBA очень трудным для понимания, когда он кажется таким простым, прямым и логичным, и все же он терпит неудачу. Еще раз я очень ценю вашу помощь
2. @JackvanHoof Попробуйте этот код в новой книге и посмотрите, работает ли он, какой адрес выводится в немедленном окне?