Erro ao Gravar Macr...
 
Notifications
Clear all

Erro ao Gravar Macro


mgonzaga
Posts: 8
Registered
Topic starter
(@mgonzaga)
Active Member
Entrou: 5 anos atrás

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 A20"),type _
:=xlSortOnsValues, SortOn := xlAscending, := xlSortNormal
name.DisplayRightToLeft("Planilha1")...Activesheet 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

Responder
Tags do Tópico
3 Respostas
JordsdoExcel
Posts: 71
Registered
(@jordsdoexcel)
Trusted Member
Entrou: 5 meses atrás

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.

Responder
mgonzaga
Posts: 8
Registered
Topic starter
(@mgonzaga)
Active Member
Entrou: 5 anos atrás

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.

Responder
EdsonBR
Posts: 913
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás

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.

Responder