VBA — красивая печать строки в Excel

Я хочу напечатать строку в Excel. Одна строка содержит данные для одного проекта.

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

Возможно ли это с VBA? Когда я искал эту проблему, я нашел только результаты для печати рабочего листа, таблицы или ее частей, но не нашел результатов для использования значений ячеек и их форматирования.

заранее спасибо


person hami    schedule 11.05.2012    source источник
comment
Если вам нужно только напечатать какое-то значение в ячейке и отформатировать ячейку, вы можете просто записать макрос, сделать это вручную, а затем использовать записанный код VBA.   -  person KMC    schedule 11.05.2012
comment
это должно быть в VBA? вы можете создать лист в качестве шаблона для печати с такими формулами, как =INDIRECT("sheet1!A"&row_number), создать именованный диапазон с именем row_number и ввести здесь номер строки, которую вы хотите напечатать...   -  person Aprillion    schedule 11.05.2012


Ответы (3)


Как показывают другие ответы, это, безусловно, возможно в Excel VBA, но на самом деле это не сильная сторона Excel.

Обычно для получения желаемого результата используется полностью отформатированный документ Word с полями, которые затем заполняются значениями из рабочего листа Excel. Можно даже немного схитрить и воспользоваться мастером Mail Merge\Letter, чтобы все настроить.

Если вы хотите сделать все это в Excel, вы можете найти инструкции и пример макроса VBA здесь: http://www.tek-tips.com/faqs.cfm?fid=4223

person Dirk    schedule 11.05.2012

Шаблон хороший способ сделать. С макросом производительность выше, когда он избегает использования изменчивых функций, таких как INDIRECT(). Однако опять же это зависит от того, сколько изменчивых функций содержит ваш рабочий лист.

person bonCodigo    schedule 11.05.2012

Да, это возможно, если вы используете стили в Excel. Я знаю, что вы можете легко форматировать шрифт. Не уверен насчет отступа, но стоит попробовать.

Если стиль не поддерживает его (это может быть в Excel 2010), вы всегда можете сделать отступ через VBA (запишите макрос при отступе значений, он должен выглядеть так):

Selection.InsertIndent 1

person Bek Raupov    schedule 11.05.2012