Как я могу получить текст для показа подряд более 409 пунктов в высоту? - PullRequest
0 голосов
/ 22 июня 2010

Моя задача - заставить текст печатать и отображать, хотя он длиннее, чем показ строки в 409 пунктов. Лист, над которым я работаю, является листом назначения из исходного листа, который может часто меняться, но обычно только 1 из 15 ячеек представляет эту проблему. Параметры ячейки фиксированы, поэтому я не могу изменить шрифт или ширину столбца.

В электронной таблице я создал макрос, который будет вставлять одну или несколько строк, объединять необходимые ячейки и изменять высоту строк, чтобы увеличить ячейку достаточно, но что IF ... END IF можно использовать, чтобы найти строки размером более 408 точек, чтобы вызвать макрос?

Я использую Excel 2007.

1 Ответ

1 голос
/ 22 июня 2010

Попробуйте записать макрос и изменить размер строки.Затем проверьте код VBA, сгенерированный макросом, чтобы увидеть, как в строке генерируется размер строки.

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

Dim lng As Long
lng = 1
Do While Not IsEmpty(Range("A" & lng).Value)
  If Rows(lng).RowHeight >= 306.75 Then
    'Insert the code to add a new row here.  When looking at the '
    'code in your macro, you can replace the row number (e.g. the "18:18" in  '
    'Rows("18:18") with the counter variable, lng, like so: Rows(lng).... '
    'If you want the *following* row, use Rows(lng+1) instead.
    ''
    'I'm not sure of the command to insert a new row, but if you do insert a '
    'new row, watch your counter.  You may need to add an additional  '
    'lng = lng + 1 into your code to account for the newly added row.'
  End If
  lng = lng + 1
Loop
...