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

広告

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

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

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

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

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

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

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

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

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

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

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
最新記事
検索
<< 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日以上新しい記事の更新がないブログに表示されております。