
A maioria das soluções que pesquisei no Google tratava de encontrar a primeira coluna em branco ou a primeira linha em branco, mas preciso especificamente encontrar a primeira coluna em branco em um intervalo de linhas.
O que 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.
Responder1
Então, minhas habilidades em VBA estão completamente enferrujadas, mas se você olhar a contribuição de Tom Urtis emComo: selecionar um intervaloSelecionando um intervalo de dados de local inicial desconhecido na Microsoft Developers Network, ele contém os objetos e métodos necessários para encontrar uma solução para o que você está procurando fazer. 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