Como vi que ninguém postou uma solução para esse tópico e assim como eu outras pessoas procurando podem encontrá-lo, estou deixando aqui a solução.
Esse código de cima não está correto, por dois motivos, primeiro porque isso é código de macro gravada e pode apresentar muitos erros ao tentar adaptá-la, sem falar que é contraproducente você utilizar tantas linhas de códigos, sendo que para classificar em VBA usa-se apenas duas linhas, que no seu caso (considerando que Plan7 seja o nome dado a planilha pelo VBA e não aquele que aparece na navegação na parte inferior da planilha) seriam:
Plan7.Activate
Columns("A:D").Sort key1:=Range("A1"), order1:=xlAscending, key2:=Range("D1"), order2:=xlAscending, key3:=Range("C1"), order3:=xlAscending, Header:=xlYes
Considerando:
Plan7 = Pode ser qualquer planilha que queira classificar, basta trocar pela nome dado pelo VBA na lista de objetos ou pelo nome que você colocou lá na navegação, aí basta colocar: Worksheets("nome da planilha").Activate
Columns = É o Range da tabela, como você não colocou quantas colunas tinham a tabela, considerei apenas aquelas que você citou, então presumi que fossem de A até D
key1 = A primeira coluna que queira usar na classificação, no seu caso era a A1
order1 = A forma de classificação usada, como você também não falou presumi que seja crescente, então basta colocar xlAscending
key2, order2... = Você coloca quantas colunas quiser para realizar a classificação, sempre indicando primeiro o Range em "key" e depois a forma de classificação em "order"
Header = Para informar ao Excel se existe cabeçalho na sua planilha ou não, caso exista você precisa colocar xlYes, senão ele irá classificar todas as linhas
Pronto! Só inserir essas linhas na ordem em que você deseja que o algoritmo seja executado.
Para mais formas de usar o Método Range.Sort pega o bisu aí no link:
https://docs.microsoft.com/pt-br/office/vba/api/excel.range.sort