#excel #vba
#excel #vba
Вопрос:
у меня есть этот рабочий лист под названием Test. На этом листе я хочу экспортировать в PDF, а затем распечатать ячейки G1 в ячейки H17. Затем я хочу напечатать G1 в ячейках I17, пропустив столбец H, что означает отсутствие столбца H. В другом слове столбец G похож на заголовок и столбцы, которые следуют за результатом. Итак, распечатайте столбец заголовка столбец результатов и так далее до столбца CM. Под каждой печатной страницей я хочу также экспортировать в PDF столбец C18, столбец D18 и столбец H18, если ячейки I18 в ячейки I27 = 500. Я начал код, но не смог закончить его, так как я не очень разбираюсь в vba
Sub SetPrintArea()
Dim ws As Worksheet
Dim x As Long, result As Boolean
result = True
For x = 18 To 128
If Worksheets("AR-MD").Range("H" amp; x).Value <> ActiveSheet.Cells(8, 19).Value Then
result = False
End If
If Not result Then Exit For
Next x
Set ws = ThisWorkbook.Sheets("AR-MD")
ws.PageSetup.PrintArea = Union(ws.Range("g1:g17"), ws.Range("i1:i17"),ws.Range("Result").Address
End Sub
I want to be able to print the result condition but i dont know how to include it in the statement
Комментарии:
1. Посмотрите здесь, существует много q с примером кода.
Ответ №1:
Используйте Union
метод:
ws.PageSetup.PrintArea = Union(ws.Range("g1:g17"), ws.Range("i1:i17")).Address
Комментарии:
1. как добавить счетчик для других столбцов, чтобы не повторять его для столбцов j, k и так далее. Также как добавить оператор if с помощью ws.Range, чтобы он подбирал нужные ячейки на условной основе @ JMP