【VBA】次に空白でないセルが来るまでの行数を取得したい ご覧いただきありがとうございます。

Visual Basic27閲覧

ベストアンサー

1

1人がナイス!しています

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

目から鱗です、遅くなりましたがありがとうございました!

お礼日時:6/15 9:51

その他の回答(2件)

1

Sub a() '似たような感じしょうか? ご参考まで Dim myRng As Range Dim i As Long Dim myStr As String On Error Resume Next '空白行がない場合のエラー回避 Set myRng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeBlanks) If myRng Is Nothing Then Exit Sub On Error GoTo 0 For i = 1 To myRng.Areas.Count myStr = myStr & myRng.Areas(i).Address(False, False) & vbTab & _ myRng.Areas(i).Cells(myRng.Areas(i).Cells.Count).Row - myRng.Areas(i).Cells(1).Row + 1 & "行" & vbCrLf Next i MsgBox myStr End Sub

1人がナイス!しています

1

まぁ一つの考え方として、参考になれば。 Sub Sample() Dim i As Long, r As Long Dim fnd As Range, buf As Range Dim msg As String r = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To r Set fnd = Range(Cells(i, "A"), Cells(r, "A")).Find("") If Not fnd Is Nothing Then Set buf = Range(fnd, Cells(r, "A")).Find("*") If Not buf Is Nothing Then msg = msg & vbCr & fnd.Address(False, False) & "から" & buf.Offset(-1).Address(False, False) & "までの" & buf.Row - fnd.Row & "行" i = buf.Row End If End If Next i MsgBox msg End Sub

画像

1人がナイス!しています