Оновіть макрос, щоб розширити висоту кожного рядка на X пікселів


0

Це добре працює, щоб встановити всі рядки на 25 пікселів.

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = 25
End Sub

Але я хочу взяти існуючу висоту рядка і додати до неї 10.

Отже, щось на кшталт цього псевдокоду:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows(x).RowHeight + 10
End Sub

Це можливо? Намагалися розібратися в синтаксисі, але не пощастило.

Відповіді:


1

На жаль, не існує простого способу зробити це одним твердженням. Так само, як і в самому Excel, немає способу вибору декількох рядків та перетягування / встановлення висоти рядка з збільшенням окремих висот.

Найпростішим рішенням є провести петлю по всіх рядках:

Option Explicit
'v0.1.0
Sub sbChangeRowHeightMulti()
  Application.ScreenUpdating = False
    Dim rowRow As Range
    For Each rowRow In Rows("3:1000")
      rowRow.RowHeight = rowRow.RowHeight + 10
    Next rowRow
  Application.ScreenUpdating = True
End Sub

-3

Спробуйте це:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows("3:1000").RowHeight + 10
End Sub

Ви зробили щось особливе, щоб змусити це працювати? Це не працює для мене. Будь ласка, не відповідайте на коментарі; відредагуйте свою відповідь, щоб зробити її більш зрозумілою та повною.
Скотт

@Scott Відкликаючись у коментарях, тому що мені нічого додати до своєї відповіді на даний момент: Можливо, я неправильно зрозумів питання. Я нічого особливого не робив, щоб змусити його працювати. Він додає 10 до існуючої висоти рядків позначених рядків. Це не було первісне питання?
wysiwyg

(1) Я думаю, що ми погоджуємось із змістом питання (хоча ваше твердження про нього є дещо неточним, тому я не впевнений, що ви і я думаєте одне і те ж). (2) Я трохи розгублений. Я думав, що, перевіривши вашу відповідь вчора, це нічого не зробило. Я повторно перевірив це, і воно, безумовно, щось робить, тому я здогадуюсь (у кращому випадку) вчора я був неохайним. (3) Що, здається, відповідає ваша відповідь - обчислити Rows("3").RowHeight + 10і встановити висоту кожного рядка до цього значення. Я вважаю, що питання вимагає додати константу до висоти кожного ряду,… (Продовжував)
Скотт,

(Продовження)… тому, якщо поточні висоти становлять 15, 21, 27, 33,…, вони будуть змінені на 25, 31, 37, 43,…. (Читаючи запитання, я визнаю, що це незрозуміло; але зауважте, що robinCTS трактував це так само, як і я.) Ваша відповідь змінила б їх на 25, 25, 25, 25,…. (4) Ви, очевидно, помітили, що хтось вниз проголосував за вашу відповідь. Це не я. Тож хтось, крім мене, вважає, що ваша відповідь неправильна.
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.