我正在慢慢修改和擴展If ... ElseIf ... Else語句(see post)來幫助我格式化一長串類別和子類別(感謝文件LLunatik)。Excel宏:如何擴展行高以適應包裝文本?
我已將固定行高分配給範圍/線條的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
能I:
- 查找那些targetCells有超過60個字符(固定柱的寬度)
- 應用.WrapText於那些特定targetCells
- 自動擴展只有那些targetCells(因此不會覆蓋我的標準10.5pt行,用於其他非異常targetCells)。
這項工作?它是否需要放置在單獨的子例程中,因爲第一個參數是?它看起來像什麼? (看到我下面的尷尬努力)
ElseIf targetCell.Characters(Len(TargetCell+60).TargetCell.WrapText Then
targetCell.Autofit
就像一個魅力。非常感謝。它爲我節省了很多時間。 – RocketGoal 2010-09-03 11:59:15