新規記事の投稿を行うことで、非表示にすることが可能です。
2023年01月06日
定義されている名前が参照するセル範囲を取得する
Sub Sample()
Dim myRng As Range
Dim myNameStr As String
Dim myName As Name
myNameStr = "myArea"
On Error Resume Next
Set myName = Application.Names(myNameStr)
On Error GoTo 0
If myName Is Nothing Then
MsgBox "定義されている名前はありません"
GoTo ErrHdl
Else
On Error Resume Next
Set myRng = myName.RefersToRange
'Set myRng = Range(myNameStr) 'Rangeプロパティ使用
'Set myRng = [myArea] '範囲名直接指定
On Error GoTo 0
If myRng Is Nothing Then
MsgBox "定義されている名前はセル以外を参照しています"
GoTo ErrHdl
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
End If
Exit Sub
ErrHdl:
Set myRng = Nothing 'オブジェクトの解放
Set myName = Nothing
End Sub
Dim myRng As Range
Dim myNameStr As String
Dim myName As Name
myNameStr = "myArea"
On Error Resume Next
Set myName = Application.Names(myNameStr)
On Error GoTo 0
If myName Is Nothing Then
MsgBox "定義されている名前はありません"
GoTo ErrHdl
Else
On Error Resume Next
Set myRng = myName.RefersToRange
'Set myRng = Range(myNameStr) 'Rangeプロパティ使用
'Set myRng = [myArea] '範囲名直接指定
On Error GoTo 0
If myRng Is Nothing Then
MsgBox "定義されている名前はセル以外を参照しています"
GoTo ErrHdl
Else
myRng.Select '確認用
MsgBox myRng.Address
End If
End If
Exit Sub
ErrHdl:
Set myRng = Nothing 'オブジェクトの解放
Set myName = Nothing
End Sub
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
2023年01月05日
文字列が入力されているセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants, Value:=xlTextValues)
On Error GoTo 0
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 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants, Value:=xlTextValues)
On Error GoTo 0
If myRng2 Is Nothing Then
MsgBox "対象セルはありません"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月04日
数値が入力されているセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants, Value:=xlNumbers)
On Error GoTo 0
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 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants, Value:=xlNumbers)
On Error GoTo 0
If myRng2 Is Nothing Then
MsgBox "対象セルはありません"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月03日
定数(数式以外)が入力されているセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants)
On Error GoTo 0
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 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeConstants)
On Error GoTo 0
If myRng2 Is Nothing Then
MsgBox "対象セルはありません"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月02日
数式が入力されているセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeFormulas, Value:=xlTextValues)
On Error GoTo 0
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 = Range("A1:C30") '任意のセル範囲
On Error Resume Next
Set myRng2 = myRng1.SpecialCells _
(Type:=xlCellTypeFormulas, Value:=xlTextValues)
On Error GoTo 0
If myRng2 Is Nothing Then
MsgBox "対象セルはありません"
Else
myRng2.Select '確認用
MsgBox myRng2.Address
End If
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2023年01月01日
使用セル範囲の右下端のセルを取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Dim mySht As Worksheet
Set mySht = Worksheets(1) '任意のシートを指定する
Set myRng1 = mySht.UsedRange '使用セル範囲を取得する
Set myRng2 = myRng1.SpecialCells(xlCellTypeLastCell)
myRng2.Select '確認用(セル範囲を選択する)
MsgBox myRng2.Address 'アドレスを表示する
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
Set mySht = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Dim mySht As Worksheet
Set mySht = Worksheets(1) '任意のシートを指定する
Set myRng1 = mySht.UsedRange '使用セル範囲を取得する
Set myRng2 = myRng1.SpecialCells(xlCellTypeLastCell)
myRng2.Select '確認用(セル範囲を選択する)
MsgBox myRng2.Address 'アドレスを表示する
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
Set mySht = Nothing
End Sub
2022年11月22日
任意のセル範囲の右下端のセルを取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C5") '任意のセル範囲
With myRng1
Set myRng2 = .Cells(.Cells.Count)
End With
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Set myRng1 = Range("A1:C5") '任意のセル範囲
With myRng1
Set myRng2 = .Cells(.Cells.Count)
End With
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2022年11月21日
タイトル行を除いたセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Dim mySht As Worksheet
Dim myLngR As Long
Set mySht = Worksheets(1) '任意のシート
Set myRng1 = mySht.UsedRange 'タイトル行を含むデータ範囲
myLngR = myRng1.Rows.Count '行サイズ
Set myRng2 = myRng1.Resize(myLngR - 1).Offset(1)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
Set mySht = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Dim mySht As Worksheet
Dim myLngR As Long
Set mySht = Worksheets(1) '任意のシート
Set myRng1 = mySht.UsedRange 'タイトル行を含むデータ範囲
myLngR = myRng1.Rows.Count '行サイズ
Set myRng2 = myRng1.Resize(myLngR - 1).Offset(1)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
Set mySht = Nothing
End Sub
2022年11月20日
指定したサイズに変更したセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Dim myLngR As Long
Dim myLngC As Long
myLngR = 6 '行サイズ
myLngC = 2 '列サイズ
Set myRng1 = Range("A1:C5") '任意のセル範囲
Set myRng2 = myRng1.Resize(RowSize:=myLngR, ColumnSize:=myLngC)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Dim myLngR As Long
Dim myLngC As Long
myLngR = 6 '行サイズ
myLngC = 2 '列サイズ
Set myRng1 = Range("A1:C5") '任意のセル範囲
Set myRng2 = myRng1.Resize(RowSize:=myLngR, ColumnSize:=myLngC)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
2022年11月19日
任意のセル範囲から相対的に移動したセル範囲を取得する
Sub Sample()
Dim myRng1 As Range
Dim myRng2 As Range
Dim myLngR As Long
Dim myLngC As Long
myLngR = 5 '行移動
myLngC = 3 '列移動
Set myRng1 = Range("A1:C5") '任意のセル範囲
Set myRng2 = myRng1.Offset(RowOffset:=myLngR, ColumnOffset:=myLngC)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub
Dim myRng1 As Range
Dim myRng2 As Range
Dim myLngR As Long
Dim myLngC As Long
myLngR = 5 '行移動
myLngC = 3 '列移動
Set myRng1 = Range("A1:C5") '任意のセル範囲
Set myRng2 = myRng1.Offset(RowOffset:=myLngR, ColumnOffset:=myLngC)
myRng2.Select '確認用
MsgBox myRng2.Address
Set myRng1 = Nothing 'オブジェクトの解放
Set myRng2 = Nothing
End Sub