Tente isto:
- Desmembrar os cabeçalhos que são mesclados.
- Selecione seus dados manualmente, da segunda linha para baixo.
- Aplique o filtro.
- Re-mescle os cabeçalhos.
Os menus suspensos do filtro devem permanecer na linha 2.
Eu tenho uma planilha que usa duas linhas para informações de cabeçalho e algumas das colunas têm as duas linhas mescladas como uma célula. Eu várias colunas mescladas na primeira linha, mas a segunda linha abaixo, sem as colunas mescladas. Filtrar implicitamente está assumindo apenas 1 linha de informações de cabeçalho. A classificação tem uma caixa de seleção de linha de cabeçalho, mas isso apenas alterna o tratamento da primeira linha como um cabeçalho.
Existe uma maneira de fazer o Excel tratar as duas primeiras linhas como cabeçalhos?
Tente isto:
Os menus suspensos do filtro devem permanecer na linha 2.
Você precisa garantir que o valor no intervalo de campo do filtro avançado esteja definido para incluir as linhas abaixo das linhas de cabeçalho.
Você pode definir esse valor manualmente ou usar uma macro para fazer isso por você.
EG na minha planilha, eu tenho linhas 1-3 como cabeçalhos de várias linhas. Eu constantemente adiciono linhas de dados abaixo. A macro a seguir define o Intervalo do campo de filtro para incluir as linhas 4 - na última linha preenchida na planilha. Isso garante que qualquer tipo trate a linha 3 como o cabeçalho (desde que você marque a caixa de seleção "meus dados incluem cabeçalhos")
(Eu incorporo isso no final de uma macro mais complexa, para garantir que a propriedade Field Range esteja sempre atualizada após as importações de dados - mais fácil do que lembrar de reconfigurá-la manualmente toda vez)
Sub selector()
Sheets("AESummary").Select
Sheets("AESummary").Activate
' find last row containing data in column A (column A will always be populated in this dataset)
Set WS = Worksheets("AESummary")
With WS
Set LastCellC = .Cells(.Rows.Count, "A").End(xlUp)
LastCellRowNumber = Application.WorksheetFunction.Max(LastCellC.Row) + 1
End With
' set the filter Field Range value to include Row 4 to the last populated row in the worksheet
Rows("4:" & LastCellRowNumber).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
End Sub
Bem, é melhor tarde do que nunca
Defina um nome local (planilha) "Banco de Dados" da última linha de cabeçalho para a última linha da tabela. Isso é:
Fórmulas »Gerenciador de nomes» Novo »Nome: Banco de dados, Escopo: {nome da folha}, Refere-se a: {selecione toda a tabela e altere manualmente a primeira linha da célula}
é triste dizer que o XLS 2016 ainda não lida com este OOB. existe outra solução para isso, que também deve funcionar com versões anteriores:
separe a última linha do cabeçalho das outras com uma linha vazia e esconda essa. então o XLS não tem problemas em reconhecer essa linha como cabeçalho.
Tags microsoft-excel-2010