extraindo uma linha de dados de uma planilha do Excel

extraindo uma linha de dados de uma planilha do Excel

Preciso extrair uma linha de dados de uma planilha do Excel e transferi-la para outra planilha. Preciso procurar uma série de travessões (- - - - -) e depois extrair a linha de dados que está 2 linhas abaixo dos travessões.

Responder1

Localização do Excel Encontrar sintaxe

Dim rFound As Range

Onde "expressão" é qualquer objeto de intervalo válido, por exemplo, Range("A1:A100"), Columns(2) etc. Além disso, um objeto Range é retornado sempre que usamos o método Find.

expressão.Find (O que, Depois, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Dim rFound As Range On Error Resume Next

    With ActiveWorkbook.ActiveSheet

        Set rFound = .Columns(1).Find(What:="- - - - -", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

    On Error GoTo 0
        If Not rFound Is Nothing Then
             Match = rFound.Address
             MsgBox (rFound.Offset(2, 0))


        End If

    End With

Responder2

Eu usaria o suplemento Power Query para isso. Ele pode ler dados de tabelas do Excel.

Eu construiria 2 consultas. O primeiro adicionaria uma coluna de índice (número da linha) e, em seguida, filtraria as linhas com travessões. Eu adicionaria então uma coluna calculada simples: [Índice] + 2. Esta consulta não precisa gerar uma tabela.

A segunda consulta começaria na tabela base e, em seguida, seria mesclada com a primeira consulta usando a coluna "[Índice] + 2" e um tipo de junção interno (mantenha apenas as correspondências). Esta consulta geraria uma nova tabela no Excel.

Você poderia construir quase tudo isso apenas clicando na interface do Power Query. A única fórmula necessária seria muito simples: [Index] + 2.

informação relacionada