Ordenar
É 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 Vá para Dados | Classificar para abrir a interface de classificaçã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ê deseja classificar e clique em OK. As colunas em branco serão classificadas até o final e poderão ser ignoradas.
Excluir à medida que avança
Isso é mais para referência futura, mas pode ser 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 na parte superior 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 Página inicial | Grupo de células | Excluir | Excluir colunas da planilha
Editado para adicionar:
Macro it
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 do intervalo usado, verifica se há células não vazias na coluna e, se não houver, exclui a coluna inteira. Espero que ajude.