アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

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

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

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

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

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

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

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

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

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

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
最新記事
検索
<< 2023年01月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
タグクラウド
カテゴリーアーカイブ
リンク集
×

この広告は30日以上新しい記事の更新がないブログに表示されております。