新規記事の投稿を行うことで、非表示にすることが可能です。
2023年01月16日
値が表示されている最終セルを取得する(複数行対象)
Sub Sample()
Dim myRows As Range
Dim myRng As Range
Set myRows = Rows("3:6").Cells '任意の行範囲
With myRows
Set myRng = .Find(What:="*", After:=.Cells(1), _
LookIn:=xlValues, Searchorder:=xlByColumns, _
SearchDirection:=xlPrevious)
End With
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng = Nothing
End Sub
Dim myRows As Range
Dim myRng As Range
Set myRows = Rows("3:6").Cells '任意の行範囲
With myRows
Set myRng = .Find(What:="*", After:=.Cells(1), _
LookIn:=xlValues, Searchorder:=xlByColumns, _
SearchDirection:=xlPrevious)
End With
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng = Nothing
End Sub
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
2023年01月15日
数式もしくは値が入力されている最終セルを取得する(複数行対象)
Sub Sample()
Dim myRows As Range
Dim myRng As Range
Set myRows = Rows("3:6").Cells '任意の行範囲
With myRows
Set myRng = .Find(What:="*", After:=.Cells(1), _
LookIn:=xlFormulas, Searchorder:=xlByColumns, _
SearchDirection:=xlPrevious)
End With
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng = Nothing
End Sub
Dim myRows As Range
Dim myRng As Range
Set myRows = Rows("3:6").Cells '任意の行範囲
With myRows
Set myRng = .Find(What:="*", After:=.Cells(1), _
LookIn:=xlFormulas, Searchorder:=xlByColumns, _
SearchDirection:=xlPrevious)
End With
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRows = Nothing 'オブジェクトの解放
Set myRng = Nothing
End Sub
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
2023年01月13日
値が表示されている最終セルを取得する(単一列対象)
Sub Sample()
Dim myRng As Range
Set myRng = Columns(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlValues, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
Dim myRng As Range
Set myRng = Columns(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlValues, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
2023年01月12日
数式もしくは値が入力されている最終セルを取得する(単一列対象)
Sub Sample()
Dim myRng As Range
Set myRng = Columns(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlFormulas, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
Dim myRng As Range
Set myRng = Columns(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlFormulas, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
2023年01月11日
何かが入力されている最終セルを取得する(単一列対象)
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Cells(Rows.Count, 1) '下端のセルを取得
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '下端のセルが該当する場合
Else
With .End(xlUp)
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = .Cells(1)
End If
End With
End If
End With
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Cells(Rows.Count, 1) '下端のセルを取得
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '下端のセルが該当する場合
Else
With .End(xlUp)
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = .Cells(1)
End If
End With
End If
End With
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月10日
値が表示されている最終セルを取得する(単一行対象)
Sub Sample()
Dim myRng As Range
Set myRng = Rows(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlValues, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
MsgBox myRng.Address
Set myRng = Nothing 'オブジェクトの解放
End Sub
Dim myRng As Range
Set myRng = Rows(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlValues, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
MsgBox myRng.Address
Set myRng = Nothing 'オブジェクトの解放
End Sub
2023年01月09日
数式もしくは値が入力されている最終セルを取得する(単一行対象)
Sub Sample()
Dim myRng As Range
Set myRng = Rows(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlFormulas, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
Dim myRng As Range
Set myRng = Rows(1).Find(What:="*", After:=Range("A1") _
, LookIn:=xlFormulas, SearchDirection:=xlPrevious)
If myRng Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
Set myRng = Nothing 'オブジェクトの解放
End Sub
2023年01月08日
何かが入力されている最終セルを取得する(単一行対象)
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Cells(1, Columns.Count)
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '右端のセルが該当する場合
Else
With .End(xlToLeft)
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = .Cells(1)
End If
End With
End If
End With
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Cells(1, Columns.Count)
With myRng1
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = myRng1 '右端のセルが該当する場合
Else
With .End(xlToLeft)
If Len(.PrefixCharacter & .Formula) > 0 Then
Set myRng2 = .Cells(1)
End If
End With
End If
End With
If myRng2 Is Nothing Then
MsgBox "何も入力されていません。"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月07日
任意のセル範囲を含む結合セル範囲を取得する
Sub Sample()
'Range("A2:C2")が結合されているものとします。
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("B2") '任意のセル範囲
If myRng1.MergeCells Then
Set myRng2 = myRng1.Cells(1).MergeArea
myRng2.Select '確認用
MsgBox myRng2.Address
Else
MsgBox "指定したセル範囲は、結合セルの一部ではありません"
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
'Range("A2:C2")が結合されているものとします。
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("B2") '任意のセル範囲
If myRng1.MergeCells Then
Set myRng2 = myRng1.Cells(1).MergeArea
myRng2.Select '確認用
MsgBox myRng2.Address
Else
MsgBox "指定したセル範囲は、結合セルの一部ではありません"
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub