макрос vba - найти первый пустой столбец из определенного диапазона строк

макрос vba - найти первый пустой столбец из определенного диапазона строк

Большинство решений, которые я нашел в Google, были направлены либо на поиск первого пустого столбца, либо на поиск первой пустой строки, но мне конкретно нужно найти первый пустой столбец в диапазоне строк.

Мне нужно вставить что-то из одной книги в другую, но сначала мне нужно найти первый пустой столбец в диапазоне строк от (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

Связанный контент