2009-06-19 3 views
1

Исходя из моих previousquestions:Скрытие Разрывы страниц в Excel

Я реализовал ряд флажков с помощью которого пользователи могут скрыть/показать диапазоны данных. Это здорово - это работает. Проблема заключается в том, когда пользователи идут печатать - скрытые данные скрыты, но страницы все еще там, но пусты.

Если разрывы страниц оставлены на свои устройства, тогда все в порядке - нет пустых разделов. Когда используются ручные разрывы страниц, вы можете видеть, где были данные.

Я пробовал все, чтобы избавиться от пустых областей.

Копирование диапазонов и пересчет разрывов страниц является недействительным, поскольку разрывы страниц занимают более 2 минут для довольно небольшого отчета.

Итак, Как напечатать только диапазоны, которые не скрыты?

Спасибо, Г.

ответ

1

Не проверял, но вы можете изменить диапазон печати только видимых ячеек:

Public Sub SetPrintRangeToVisible(ByRef ws As Excel.Worksheet) 
    ws.PageSetup.PrintArea = ws.UsedRange.SpecialCells(xlCellTypeVisible).Address 
End Sub 
0

Excel, с помощью отпечатков по умолчанию только видимых ячеек. Вам не нужно было устанавливать область «Печать» на видимые ячейки, как было предложено ранее.

Я полагаю, что вы отключили опцию «Печать объекта» во всех флажках. И эта область отображается пустой, когда вы печатаете лист. Если это так, прочитайте:

Предлагаю написать простой макрос, который скрывает строки, содержащие эти флажки. Установите для видимого свойства флажков значение false. Распечатайте лист, а затем верните все обратно в исходное состояние.

В качестве альтернативы вы можете просто выбрать строки над флажками, а затем всю область под флажками, а затем установить это как PrintArea. Это должно решить проблему, с которой вы сталкиваетесь.

Кроме того, я, возможно, дико неправильно понял ситуацию, и в этом случае, извините, я потратил ваше время.

Смежные вопросы