Excel VBA печатает только строки данных

#vba #excel

#vba #excel

Вопрос:

Привет, я хотел бы напечатать диапазон, касающийся столбца E…

Распечатайте диапазон на основе строк данных столбца E. Я использовал метод xlCellTypeBlanks, но это не помогло, потому что в ячейках столбца E есть формулы. Поэтому мне нужно печатать только строки данных столбца E, а не пустые ячейки формулы

Вот мой код

 Columns("B:D").EntireColumn.Hidden = False
Columns("I:N").EntireColumn.Hidden = False
Dim r1, r2 As Range
Set r1 = Range("B:D")
Set r2 = Range("I:N")
Range("E4:E").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
ActiveSheet.PageSetup.PaperSize = xlPaperA4
ActiveSheet.PageSetup.Orientation = xlPortrait
ActiveSheet.Range(r1, r2).PrintPreview
  

Комментарии:

1. возможно, вы захотите 1) опубликовать свой пока код 2) предоставить более подробную информацию о том, что он делает, но не должен, и что он должен делать, но не делает

2. Не могли бы вы отфильтровать данные, чтобы исключить любые строки, где столбец E пуст, а затем выполнить печать?

3. ОК… Тогда как мне отфильтровать данные в VBA

4. запишите макрос: начните запись, выполните необходимую фильтрацию в Excel, остановите запись и просмотрите сгенерированный код

5.Кстати, имейте в виду, что Range(r1, r2) будут ссылаться на ячейки в диапазоне от самой верхней левой ячейки до самой нижней правой из двух диапазонов: в вашем случае это будет ссылаться на все ячейки столбцов от «B» до «N» (включая их). Если вы хотите ссылаться на ячейки диапазона r1 и range r2 , используйте Union(r1, r2)