vba macro - localiza a primeira coluna em branco do intervalo de linha específico

1

A maioria das soluções que eu pesquisei foi sobre encontrar a primeira coluna em branco ou a primeira linha em branco, mas eu especificamente preciso encontrar a primeira coluna em branco em um intervalo de linhas.

O que eu preciso é colar algo de uma pasta de trabalho em outra pasta de trabalho, mas primeiro, preciso encontrar a primeira coluna em branco em um intervalo de linhas de (100: 114).

Eu poderia postar o que tenho até agora, mas está longe de funcionar.

    
por kickass13 14.07.2015 / 07:25

1 resposta

0

Portanto, minhas habilidades em VBA estão completamente enferrujadas, mas se você der uma olhada na contribuição de Tom Urtis em Como: Selecionar um intervalo Selecionando um intervalo de dados de local de início desconhecido na Rede de Desenvolvedores da Microsoft, ele possui os objetos e métodos necessários para solucionar uma solução para o que você está procurando Faz. Abaixo está uma reimpressão do código desse link:

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
    
por 14.07.2015 / 08:07