vba 宏 - 从特定行范围中查找第一个空白列

vba 宏 - 从特定行范围中查找第一个空白列

我在 Google 上搜索到的大多数解决方案都是关于查找第一个空白列或第一个空白行,但我特别需要在一系列行中找到第一个空白列。

我需要将一些内容从一个工作簿粘贴到另一个工作簿,但首先,我需要在 (100:114) 的行范围内找到第一个空白列。

我可以发布我目前所拥有的内容,但它还远远没有发挥作用。

答案1

所以我的 VBA 技能完全生疏了,但如果你看看 Tom Urtis 在如何:选择范围在 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

相关内容