vbaで、例えばA列の3行目(固定)から値が入ってる最終行(可変)までを範囲として、空白行を全て取得し、メッセージに「A列の空白行:●行目、●行目…」のように表示させることは可能でしょうか。

補足

皆様本当にありがとうございます!参考にさせていただきます! ちなみになんですが、同処理で空白セルがなかった場合、特にメッセージなども出さずに次の処理へ進む方法はございますか?

Visual Basic127閲覧

ベストアンサー

0

>、同処理で空白セルがなかった場合 は、 MsgBox "A列の空白行: " & Join(msg, "、") の一行を下に差し替えてください。 ↓↓↓↓↓ On Error GoTo ErrorHandler If UBound(msg) >= 0 Then On Error GoTo 0 MsgBox "A列の空白行: " & Join(msg, "、") End If Exit Sub ErrorHandler: '空白行がない場合の処理はここに! End Sub

ThanksImg質問者からのお礼コメント

ありがとうございました!参考にさせていただきます!

お礼日時:2021/12/3 23:36

その他の回答(1件)

0

空白行がなかったら、それもメッセージに出さないと…。 Sub chb() Dim ms As String Dim cr As Range ms = "A列の空白行:" On Error GoTo erh: For Each cr In Range(Range("A3"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeBlanks) ms = ms & cr.Row & "行目、" Next cr MsgBox ms Exit Sub erh: MsgBox "A列に空白行はありません" End Sub

補足の件では Sub chb() Dim ms As String Dim cr As Range ms = "A列の空白行:" On Error Resume Next For Each cr In Range(Range("A3"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeBlanks) ms = ms & cr.Row & "行目、" Next cr If Err.Number = 0 Then MsgBox ms Exit Sub End If On Error GoTo 0 '空白行がなかったときの処理を記述 End Sub