Я медленно корректирую и расширяю If If ... ElseIf ... Else statement (see post), чтобы помочь мне форматировать длинный список категорий и подкатегорий (спасибо marg & Lunatik).Excel Macro: как увеличить высоту ROW, чтобы разместить текст обтекания?
Я назначил фиксированные высоты строк до 90% диапазона/линий. Теперь я застрял в этих ячейках с большим количеством текста, который обертывается поверх двух строк в ячейке. Две строки текста не соответствуют моей стандартной высоте 10,5.
Я не могу просто обновить экран, как утверждение говорит любая линия, которая не исключение один (выделены жирным шрифтом) или исключение два (верхний индекс) должен быть 10.5pts. Мне нужно третье исключение . я в настоящее время:
Sub setHeights()
Dim targetRange As Range
Dim targetCell As Range
Cells.Select
Selection.WrapText = True
Cells.EntireRow.AutoFit
Set targetRange = Range("B:B")
For Each targetCell In targetRange
If Not IsEmpty(targetCell) Then
If targetCell.Font.Bold Then
targetCell.RowHeight = 15
ElseIf targetCell.Characters(Len(targetCell), 1).Font.superscript Then
targetCell.RowHeight = 14
Else: targetCell.RowHeight = 10.5
End If
End If
Next targetCell
End Sub
Могу ли я:
- Найти эти targetCells с более чем 60 символов (ширина неподвижной колонны)
- Применить .WrapText к этим конкретным targetCells
- AutoExpand ТОЛЬКО эти targetCells (поэтому не переписывают мои стандартные строки 10.5pt для других нецелевых целевыхЦеллов).
Будет ли это работать? Нужно ли размещать его в отдельном SubRoutine из-за параметров первого? На что это похоже? (см. мое неудобное усилие ниже)
ElseIf targetCell.Characters(Len(TargetCell+60).TargetCell.WrapText Then
targetCell.Autofit
Как шарм. Большое спасибо за это. Это спасло меня так много времени. – RocketGoal