Налаштування області друку діапазоном більше 255 символів


-1

Я написав деякий VBA код, щоб визначити дещо складний діапазон, який я хотів би встановити область друку на робочому аркуші. Однак, коли я встановлюю область друку через

Worksheets("Sheet1").PageSetup.PrintArea = myRange.Address

область друку, здавалося б, скорочена до перших 255 символів мого діапазону.

Які мої варіанти друку (а насправді зберегти в .pdf) лише для мого визначеного діапазону? Я хотів би уникати нічого занадто ручного, оскільки я працюю з ~ 150 робочими книгами. Я використовую Excel 2016 64 біт.

Мені відомо про подібне питання тут ( https://stackoverflow.com/questions/11410374/increase-the-maximum-string-length-of-excel-printarea ), але прийняте рішення є досить незадовільним, оскільки нумерація сторінок у створених PDF-файлах не буде правильною.


"область друку, здавалося б, скорочена до перших 255 символів мого діапазону." Це вбудоване обмеження коду друку Excel.
DavidPostill

Отже, відповідь полягає в тому, що ні, що я хочу зробити, неможливо?
user95308

Наскільки мені відомо.
DavidPostill

Відповіді:


0

Це більше обробок, ніж виправлення. Використовуйте макроси, де це можливо, як # 1

  1. Сховати всі клітини, які ви не хочете друкувати. Друк A1: z99. Відображення всіх клітин.

  2. Створити новий аркуш тимчасово чи ні.

тест

sub macro1()
Location = "A1 B2:B10 C4:C10 "
Position = 1

While (Position < Len(Location))

found = InStr(Position, Location, " ")

if found=0 then found=len(location)

    printRange = Mid(Location, Position, (found - Position))
    Sheets("Sheet1").Select
    Range(printRange).Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range(printRange).Select
    ActiveSheet.Paste
    Position = found + 1

Wend
End Sub

надрукуйте весь тимчасовий аркуш.

Видалити (чи ні) тимчасовий аркуш.

  1. Подібно до # 2, але ви також можете

    temp.a1 = об'єднати (a1, a2, a5, a7, a8, a11)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.