#excel #vba
#excel #vba
Вопрос:
Я определил область печати на одном листе и распечатал ее. Но эта область больше, чем одна бумага, поэтому она будет напечатана на 4 страницах. Я хочу, чтобы все содержимое было на одной странице. Итак, я попробовал код :
Sub PrintTable()
With ActiveWorkbook.Sheets("myTable").PageSetup
.PrintArea = "$A$1:$L$55"
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
End Sub
Но это не работает, я не знаю, какую часть исправить. Я использовал «Записать макрос», возможно, я удалил некоторые важные строки. Итак, если у вас есть какие-то идеи, пожалуйста, оставьте заметку.
Комментарии:
1. На первый взгляд все выглядит нормально. Что конкретно происходит не так?
myTable
Лист все еще печатается на четырех страницах? Или это печать шириной в одну страницу, но высотой в несколько страниц, или наоборот? Я думаю, вам может потребоваться установить только одно изFitToPagesWide
илиFitToPagesTall
.2. Да, там все еще 4 страницы. (синие линии, которые определяют края страниц, находятся внутри первой страницы, что превращает эту страницу в 4)
Ответ №1:
Я только что попробовал это сам, и это работает:
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Application.PrintCommunication = True
Без настройки
Application.PrintCommunication
при значениях false и true это не работает. Можете ли вы попробовать это?
Комментарии:
1. Это работает! Я видел, что режим был выбран как «настроить на одну страницу». Это то, что мне нужно. Спасибо!
Ответ №2:
Редактировать Согласно этому объяснению, Zoom
сначала должно быть установлено значение False
. Попробуйте:
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
вместо двух .FitToPages
строк, которые у вас есть сейчас.
Оригинальный ответ
Согласно этому сообщению на форуме, попробуйте либо
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
или
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = False
вместо двух .FitToPages
строк, которые у вас есть сейчас.
Комментарии:
1. Да! Это работает! Я не вижу причины, но теперь это работает 🙂
2. @Hiddenllyy Рад это слышать! Обновленный с
.Zoom=False
или один из других?3. Я попробовал вторую, и поэтому режим pint был «настроить столбец». Но первое в этом случае не работает. Это странно.