問題描述
「自動調整列高」在單一儲存格時功能正常

但合併儲存格後就只能顯示第一行文字
列高不再隨內容自動調整

這兩個功能似乎有衝突
解決辦法
1. 手動調整列高
雖然這聽起來不像解決問題
但畢竟是官方的建議…
2. 另外一格
讓另一個儲存格內容 = 這個合併儲存格
因為是單一儲存格,所以自動調整列高會正常作用
缺點是工作表中會多一個不明儲存格

3. VBA
Sub test()
Dim Rng As Range
Dim UsedRng As Range
Dim adr$, RH!
Set UsedRng = Cells.SpecialCells(xlCellTypeConstants, xlTextValues + xlNumbers)
For Each Rng In UsedRng
If Rng.MergeCells And Rng <> "" Then
adr = Rng.MergeArea.Address
Rng.UnMerge
Rng.EntireRow.AutoFit
RH = Rng.EntireRow.RowHeight
Range(adr).EntireRow.RowHeight = RH / Range(adr).Rows.Count
Range(adr).Merge
End If
Next
End Sub
程式原理:
1. 取消合併儲存格
2. 取得自動列高(此時功能正常)
3. 再合併儲存格
4. 設定剛剛記錄的列高
缺點是要額外去執行這個程式碼