Algo como:
Sub DataCompactor()
Dim iRows As Long, iCol As Long
Dim i As Long, j As Long, r As Range
iRows = 3
iCols = 5
For i = 1 To iRows
For j = iCols To 1 Step -1
Set r = Cells(i, j)
If r.Value = "" Then r.Delete Shift:=xlToLeft
Next j
Next i
End Sub
Se as células estiverem realmente vazias, você pode usar SpecialCells
e evitar os loops.
EDIT # 1:
As macros são muito fáceis de instalar e usar:
- ALT-F11 exibe a janela do VBE
- ALT-I
ALT-M abre um novo módulo
- cole o material e feche a janela do VBE
Se você salvar a pasta de trabalho, a macro será salva com ela.
Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar
o arquivo como .xlsm em vez de .xlsx
Você deve alterar o 3 e 5 para corresponder à estrutura de dados real.
Para remover a macro:
- abrir a janela do VBE como acima
- limpe o código
- feche a janela do VBE
Para usar a macro do Excel:
- ALT-F8
- Selecione a macro
- Toque em EXECUTAR
Para saber mais sobre macros em geral, consulte:
link
e
link
As macros devem estar ativadas para que isso funcione!