No Excel, como posso fazer uma linha de dados em uma tabela que tenha texto específico em uma célula automaticamente aparece em uma tabela em uma folha separada?

1

Eu faço o download de um relatório com 8 colunas de dados em uma tabela a cada semana. A quantidade de dados muda a cada semana por linha (uma semana pode ter 40 linhas, a próxima pode ter 100, mas não mais que 150). Os cabeçalhos de dados permaneceriam os mesmos.

Eu preciso ter apenas todos os dados em uma linha em que "HOT: Must Cover" aparece na coluna B aparecem / analisam automaticamente em uma tabela idêntica em outra planilha. Eu iria de alguma forma usar um VLOOKUP junto com = SE?

Exemplo de Tabela na Folha 1:

    
por Amanda 13.02.2016 / 00:13

2 respostas

0

Uma opção que você usaria seria usar a opção de filtro no excel e classificá-los alfabeticamente na coluna B. Se você realmente precisar deles em uma folha separada, copie e cole-os na próxima folha (já que eles serão todos sejam agrupados a partir da classificação).

Como alternativa, você precisaria escrever uma macro que lê a coluna B em cada linha e copia a linha se o conteúdo for "Quente: deve cobrir".

Algo ao longo destas linhas:

Dim i as Integer
Dim j as Integer

i = 0
j = 0

Do While Cells(i, 2).value != ""
    if Cells(i, 2).Value == "Hot: Must Cover" Then
        Worksheets("Sheet1").Range(Cells(j, 0), Cells(j, 7).Value = Worksheets("Sheet1").Range(Cells(i, 0), Cells(i, 7).Value
        j = j + 1
    End if
    i=i+1
loop
    
por 13.02.2016 / 01:54
0

Acho que seria difícil conseguir isso com VLOOKUP (ou qualquer outra pesquisa). Considere esta solução VBA:

Sub test    
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim j As Integer

    Set ws1 = Worksheets(1)
    Set ws2 = Worksheets(2)
    j = 1

    For i = 2 To (ws1.Range("A1").ListObject.DataBodyRange.Count + 1)
        If ws1.Range("B" & i).Value = "HOT: Must Cover" Then
            ws1.Range("A" & i & ", G" & i).Copy
            ws2.Range("A" & j).PasteSpecial xlPasteValues
            j = j + 1
        End If
    Next i
End Sub
    
por 17.02.2016 / 15:21