VBA マクロ - 特定の行範囲から最初の空白列を見つける

VBA マクロ - 特定の行範囲から最初の空白列を見つける

私がグーグルで検索した解決策のほとんどは、最初の空白の列または最初の空白の行を見つけることに関するものでしたが、特に行の範囲内で最初の空白の列を見つける必要があります。

必要なのは、ワークブックから別のワークブックに何かを貼り付けることですが、まず、(100:114) の行範囲内で最初の空白の列を見つける必要があります。

これまでのところ、投稿することはできましたが、まだ機能していません。

答え1

私のVBAスキルは完全に錆びついていますが、トム・アーティスの貢献を見れば方法: 範囲を選択するMicrosoft Developers Network の「不明な開始位置のデータ範囲を選択する」には、実行したいことに対する解決策を見つけるために必要なオブジェクトとメソッドが含まれています。以下は、そのリンクからのコードの再印刷です。

Sub UnknownRange()
If WorksheetFunction.CountA(Cells) = 0 Then
    MsgBox "There is no range to be selected.", , "No cells contain any values."
    Exit Sub
Else
    Dim FirstRow&, FirstCol&, LastRow&, LastCol&
    Dim myUsedRange As Range
    FirstRow = Cells.Find(What:="*", SearchDirection:=xlNext, SearchOrder:=xlByRows).Row

    On Error Resume Next
    FirstCol = Cells.Find(What:="*", SearchDirection:=xlNext, SearchOrder:=xlByColumns).Column
    If Err.Number <> 0 Then
        Err.Clear
        MsgBox _
        "There are horizontally merged cells on the sheet" & vbCrLf & _
        "that should be removed in order to locate the range.", 64, "Please unmerge all cells."
        Exit Sub
    End If

    LastRow = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
    LastCol = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
    Set myUsedRange = Range(Cells(FirstRow, FirstCol), Cells(LastRow, LastCol))
    myUsedRange.Select
    MsgBox "The data range on this worksheet is " & myUsedRange.Address(0, 0) & ".", 64, "Range address:"
End If
End Sub

関連情報