1列200行以上のテーブルがあります。内容に応じて、これらの行の高さを調整したいと思います。
たとえば、セルの文字数が10文字未満の場合、行は25ピクセルである必要があり、セルの文字数が10文字以上の場合、行は50ピクセルである必要があります。
これらの写真は私がやりたいことを説明するかもしれません:
に
これはあなたの不明確な質問に基づいています! 動的オプション も投稿しました
Option Explicit
Sub ChangeRowsColsInPixels()
Dim r As Range
For Each r In ActiveSheet.UsedRange
Dim length As Integer
length = Len(r.Value)
If length > 0 Then
If length < 10 Then
r.RowHeight = 25
End If
If length >= 10 Then
r.RowHeight = 50
End If
End If
Next r
End Sub
MS OfficeにVBAを追加するにはどうすればよいですか?
セル内のテキストの配置については質問しませんでしたが、できる限りmiddle align
これで十分だと思います
また、文字数が10〜20の場合は、何もしたくないようです。
前
後
そしてミドルアラインで
他の投稿の2番目の解決策 として、これはより動的なアプローチを提供します。これは、文字数に基づいて高さが更新される場所です(これは上限/最大値について適切にテストされていません)したがって、長い文字列/値が大きいと、例外がスローされる可能性が高いため、Excel 2010の制限に近いと思われるハードコードされた制限を追加しました)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Dim defaultHeight As Integer
defaultHeight = 25
Dim maxHeight As Integer
maxHeight = 399
For Each r In ActiveSheet.UsedRange
Dim length As Integer
length = Len(r.Value)
If length > 0 Then
Dim heightToUse As Double
heightToUse = defaultHeight + length
If (heightToUse > maxHeight) Then
r.RowHeight = maxHeight
Else
r.RowHeight = heightToUse
End If
End If
Next r
End Sub
新しい値を入力すると起動して再計算されるため、必ず特定のワークシートに追加してください。
MS OfficeにVBAを追加するにはどうすればよいですか?
後(Middle Align
リボンの[配置]タブ)