Notifications
Clear all

Erro ao Gravar Macro

4 Posts
3 Usuários
0 Reactions
1,262 Visualizações
(@mgonzaga)
Posts: 10
Eminent Member
Topic starter
 

Boa noite, Pessoal.

Utilizo o gravador de macros para gravar algumas partes das minhas macros.

Recentemente troquei minha máquina e o gravador simplesmente não funciona.

Gravei um rotina para classificar meus dados e olha o código que foi gerado. (O código já foi gerado com todas as linhas dando erro). Já solicitei para TI desinstalar e instalar novamente, já formatei a máquina, Já verifiquei as referências, Já fiz de tudo...

 

Macro gerada no computador que está dando erro. (não faz sentido nenhum os códigos gerados)

Sub Macro1()

Columns("A:L").Select
name.DisplayRightToLeft("Planilha1")...DupeUnique
name.DisplayRightToLeft("Planilha1")...Activesheet :=Range("A1:A20"),type _
:=xlSortOnsValues, SortOn := xlAscending, := xlSortNormal
name.DisplayRightToLeft("Planilha1")...Activesheet :=Range("B1:B20"),type _
:=xlSortOnsValues, SortOn := xlAscending, := xlSortNormal
With Name.DisplayRightToLeft("Planilha1").
.Range ("A1:L20")
.=xlGuess
. = FALSE
.=xlTopToBottom
.=xlPinyin
.
End With

End Sub

 

 

Macro gerada no computador  (Aqui os códigos foram criados corretamente)

Sub Macro1()

Columns("A:M").Select
ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add Key:=Range( _
"A1:A20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add Key:=Range( _
"B1:B20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Planilha1").Sort
.SetRange Range("A1:M20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub

 
Postado : 20/10/2021 8:33 pm
Tags do Tópico
(@jordsdoexcel)
Posts: 69
Trusted Member
 

Olá, amigo.

Estou estudando VBA, ainda não sei muita coisa, mas acredito que possa ajudar nesse caso. O gravador de macro ele grava a rotina dos seus passos e de acordo com as configurações da planilha. Então se tenho uma planilha de um jeito e outra de uma forma diferente, cada uma com configurações específicas, o resultado da macro não será o mesmo.

Espero ter ajudado.

Abs.

 
Postado : 21/10/2021 7:45 am
(@mgonzaga)
Posts: 10
Eminent Member
Topic starter
 

Boa tarde, JordsdoExcel.

Não é esse o problema.

Nessa máquina que está com problema, as macros são gravadas e já ficam com erro. O exemplo que coloquei acima é apenas um código que gravei

para classificar os dados, porém ele grava o código com erro.

 

Coloquei em anexo, o código gerado ao gravar a macro para apenas classificar os dados pela coluna "A", pode verificar que ela

já gerou o código em vermelho.

 
Postado : 26/10/2021 12:31 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Olá, @mgonzaga

Seu VBA deve mesmo estar corrompido, pois de fato não faz nenhum sentido o que o gravador de macro fez, pois:

  • Name é um objeto "Name" (intervalo nomeado, etc.)
  • DisplayRightToLeft não é uma propriedade de Name e sim de uma Window. Além disso, também não é uma coleção, portanto não faz sentido o argumento "Planilha1" entre parênteses.
  • As reticências não fazem o menor sentido
  • DupeUnique é propriedade referente à formatação condicional... etc.

Seu gravador misturou um monte de coisas sem relação nenhuma entre si.

Recomendo fazer uma reinstalação limpa e completa do Office.

 
Postado : 31/10/2021 3:23 am