アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelの行を自動調整するマクロについて教えてください。
マクロ
Sub 行調整()
ActiveWindow.SmallScroll Down:=15
Range("B26:E37").Select
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 36
Range("B26:E37,B41:E42").Select
Range("B41").Activate
Selection.Rows.AutoFit
End Sub
があります、このマクロを実行すると指定セルすべてが「行の高さの自動調整」にて文字数により調整されます。
文字が無い場合は全ての行が「高さ18.75(25ピクセル)」になります。
元々の表内の指定セルの行幅は「高さ34.5(46ピクセル)」になっており、
表の見栄え上の関係で
指定セルに文字がある場合のみ「行の高さの自動調整」が出来、
指定セルに文字が無い場合は「高さ34.5(46ピクセル)」のままにできる方法があれば教えてください。
よろしくお願いいたします。

A 回答 (1件)

こんにちは


CountBlank関数で空白セルを数えて処理分岐をする例です

Sub 行調整()
Dim r As Range
For Each r In Range("B26:B37,B41:B42")
If WorksheetFunction.CountBlank(r.Resize(, 4)) <> 4 Then
r.Rows.AutoFit
Else
'34.5に戻す必要がある場合
'r.RowHeight = 34.5
End If
Next
End Sub

B~E列なのでB列をループ対象にして範囲をResizeで変更して関数で空白セルを数えています 対象が4セルなので 4以外(<> 4)なら
文字がある事になりますので AutoFit
4つなら すべて空白なので そのまま・・ 
'34.5に戻す必要がある場合 コメントの
'r.RowHeight = 34.5 'を消してください
    • good
    • 0
この回答へのお礼

いつも回答ありがとうございます。
全て上手く行きました。
感謝いたします。

お礼日時:2022/12/26 13:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!