Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por matheusroliv
#49733
Bom dia,
Gostaria de saber o que está de errado em minha macro, segue o código:

Sub classificar()

ThisWorkbook.Sheets("Parcelas e Meta de Quebra").Select
Sheets("Parcelas e Meta de Quebra").Select
Sheets("Parcelas e Meta de Quebra").Range("A5").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight).End(xlToRight)).Select
With ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort
.SortFields.Clear
.SortFields.Add Key:=ThisWorkbook.Sheets("Parcelas e Meta de Quebra").Range("A5:A10"), _
SortOn:=xlSortOnValures, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A5:A10")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

O seguinte erro "O método Sort do objeto _worksheet falhou" está na "With ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort"

Gostaria de aproveitar, como faço para o range de seleção ser tudo o que estiver na coluna A por exemplo, já que esta planilha estará mudando todo dia e eu sempre vou precisar classificar tudo.
Avatar do usuário
Por Jimmy
Avatar
#49755
Olá Matheus,

Poderia postar a planilha para que possamos estudar o erro?

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
Por matheusroliv
#49764
Boa tarde,

Não posso enviar a planilha por conter dados confidenciais da empresa bancários.

Mas, vou tentar explicar melhor o erro:
Código: Selecionar todos
Sub TESTE()
 Range("A5:BC300").Select
    ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort.SortFields.Add Key:=Range( _
        "A5:A300"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort
        .SetRange Range("A5:A300")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Estou depurando, e está parando em "ActiveWorkbook.Worksheets("Parcelas e Meta de Quebra").Sort.SortFields.Clear"
Com o seguinte erro "O metodo Sort do objeto worksheet falhou"

Obrigado
Avatar do usuário
Por Jimmy
Avatar
#49770
Matheus,

O código em si não tem problema, mas pode apresentar erro dependendo das condições da planilha, dos dados, etc.

Por exemplo, pode dar erro numa planilha protegida, ou nome da planilha digitado errado, etc. Esses 2 exemplos não se aplicam a você, pois a mensagem é outra, mas estou apenas mostrando que só com o código o máximo que se faz é dar palpites e jogar com a sorte.

Tente fazer uma cópia da planilha, de tamanho reduzido, e com os textos e valores alterados, pra poder enviar.

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord