#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
и ranger2
, используйтеUnion(r1, r2)