Uma solução não VBA:
- Selecione a tabela.
- Pressione Ctrl + G
- Pressione Especial ...
- Escolha "Blanks"
- Pressione Ctrl + -
- Escolha "Deslocar células para cima"
- Pressione Enter
Tadaa!
Estou procurando uma maneira de obter uma coluna de dados (70 algumas linhas) com algumas entradas visíveis, algumas células vazias e alguns resultados de fórmulas. Estou procurando uma maneira de copiar apenas os dados inseridos e os resultados das fórmulas.
por exemplo
T1 T2 T3 T4 T5 2 2 1 5 1 6 3 4 1 6 1 2 4 1 2 1 2 1 3
retornaria
T1 T2 T3 T4 T5 2 2 3 1 5 1 6 6 4 1 1 2 4 1 2 1 2 1 3
Estou supondo que sua planilha se parece com isso:
AbraoVBEALT+F11einsiraumnovoModule
CopieecoleocódigoabaixoeexecuteoRemoveEmptiesAndShfitUp
sub
SubRemoveEmptiesAndShiftUp()DimiAsLong,jAsLong,rAsRangeForj=Cells(1,Columns.Count).End(xlToLeft).ColumnTo1Step-1Fori=Cells(Rows.Count,j).End(xlUp).RowTo2Step-1Setr=Cells(i,j)IfIsEmpty(r)Thenr.Deleteshift:=xlUpSetr=NothingNextiNextjEndSub
Ocódigoiráiterardalinhadaúltimacolunaparaaprimeiralinhadasegundacolunaeremovertodasascélulasvazias,deslocandoasoutrasparacima.Entãoseuresultadoseráparecidocom