Classificar
É possível classificar colunas, não apenas linhas, de dados. Supondo que você tenha algum tipo de cabeçalho na linha 1 que possa ser usado como uma chave de classificação, faça o seguinte:
1 Pressione Ctrl + End para ir para a última linha e coluna usadas
2 Pressione Shift + Ctrl + Home para selecionar tudo entre a primeira célula e a última célula usada
3 Ir para dados | Ordenar para abrir a interface de ordenação
4 Clique em Opções na parte superior da interface de classificação
5 Em Orientação, selecione Classificar da esquerda para a direita e clique em OK
Agora você terá a opção de qual linha classificar. Selecione uma linha que contenha algum valor que você queira classificar e clique em OK. Colunas em branco serão classificadas no final e podem ser ignoradas.
Excluir à medida que você for
Isso é mais para referência futura, mas talvez seja melhor selecionar colunas inteiras e excluí-las, em vez de excluir apenas seu conteúdo. Para fazer isso:
1 Clique na letra do cabeçalho da coluna no topo para selecionar a coluna inteira
2 Clique com o botão direito do mouse na letra do cabeçalho da coluna e escolha Excluir ou vá para a guia Início | Grupo de células | Excluir | Excluir colunas da planilha
Editado para adicionar:
Macro
Como foi apontado, você solicitou uma macro no título da pergunta. Embora os métodos que descrevi possam ser automatizados com uma macro gravada, aqui está uma rápida escrita que removerá qualquer coluna completamente vazia do intervalo usado.
Sub ClearEmpties()
'Delete any entirely empty column in the workshee's used range
Dim l As Long
For l = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
If WorksheetFunction.CountA(Columns(l)) = 0 Then
ActiveSheet.Columns(l).EntireColumn.Delete
End If
Next l
End Sub
Isso percorre todas as colunas no intervalo usado, verifica se há células não-brancas na coluna e, se não houver nenhuma, exclui a coluna inteira. Espero que ajude.