2023年01月14日
何かが入力されている最終セルを取得する(複数行対象)
Sub Sample()
Dim myRows As Range
Dim myRng1 As Range
Dim myRng2 As Range
Set myRows = Rows("3:6") '任意の行範囲
For Each myRng1 In myRows.Columns(Columns.Count).Cells
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '右端のセルが該当する場合
Exit For
Else
With .End(xlToLeft)
If Len(.PrefixCharacter & .Formula) > 0 Then
If myRng2 Is Nothing Then
Set myRng2 = .Cells(1)
Else
If myRng2.Column < .Cells(1).Column Then
Set myRng2 = .Cells(1)
End If
End If
End If
End With
End If
End With
Next
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng1 = Nothing
Set myRng2 = Nothing
End Sub
Dim myRows As Range
Dim myRng1 As Range
Dim myRng2 As Range
Set myRows = Rows("3:6") '任意の行範囲
For Each myRng1 In myRows.Columns(Columns.Count).Cells
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '右端のセルが該当する場合
Exit For
Else
With .End(xlToLeft)
If Len(.PrefixCharacter & .Formula) > 0 Then
If myRng2 Is Nothing Then
Set myRng2 = .Cells(1)
Else
If myRng2.Column < .Cells(1).Column Then
Set myRng2 = .Cells(1)
End If
End If
End If
End With
End If
End With
Next
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng1 = Nothing
Set myRng2 = Nothing
End Sub
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/11830462
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック