Algumas alterações devem fazer com que você corra:
1) Se você quiser manter a planilha do Excel além da execução da macro, mova a linha:
Dim Oxl_Sheet As Object
no topo da página da macro, fora de qualquer função.
2) Para corrigir o erro de compilação, inclua uma referência à Biblioteca do Excel para definir a função de intervalo:
- No editor do VBA, 'Ferramentas' - > 'Referências ...'
- Selecione 'Microsoft Excel < 12.0 ou 14.0 > Biblioteca de Objetos
3) Altere a sintaxe da linha de classificação para qualificar a qual objeto o intervalo se refere:
Oxl_Sheet.Application.Sort.SortFields.Add Key:=Oxl_Sheet.Application.Range("I2:I356"), SortOn:=xlSortOnValues