- 01 Abr 2022 às 13:16
#70078
Boa tarde
Pedindo ajuda para tentar melhorar código gerado pelo gravador de macros, então é assim:
Fiz a macro em baixo com recurso ao gravador de macros, sendo que ela serve para copiar um range de uma tab para outra tab, de forma a ficar dinâmico, ou seja, como se trata de um calendário sempre que atualizo o mês, a imagem é atualizada na tab principal.
Fiz os arranjos possíveis dentro dos meus conhecimentos, mas continua a ter "Activate", "Select", "Selection" que não consigo "apagar".
Não sei se é por ignorância minha ou se não dá mesmo para melhorar a macro.
Peço pois ajuda para se possível melhorar e simplificar esta macro:
Obrigado
Jorge
Pedindo ajuda para tentar melhorar código gerado pelo gravador de macros, então é assim:
Fiz a macro em baixo com recurso ao gravador de macros, sendo que ela serve para copiar um range de uma tab para outra tab, de forma a ficar dinâmico, ou seja, como se trata de um calendário sempre que atualizo o mês, a imagem é atualizada na tab principal.
Fiz os arranjos possíveis dentro dos meus conhecimentos, mas continua a ter "Activate", "Select", "Selection" que não consigo "apagar".
Não sei se é por ignorância minha ou se não dá mesmo para melhorar a macro.
Peço pois ajuda para se possível melhorar e simplificar esta macro:
Código: Selecionar todos
Outra coisa que não estou conseguindo é depois de copiar para a tab principal desseleccionar a Shape, sem ter que selecionar uma determinada célula p.ex., é possível?Sub CopyCalendario()
WsCAL.Range("M17:U24").Copy
WsT.Range("F1").Activate
ActiveSheet.Pictures.Paste(Link:=True).Select
With Selection
.Formula = "=CALENDARIO!$M$17:$U$24"
.ShapeRange.Name = "CMensal"
.ShapeRange.Fill.visible = msoFalse
.ShapeRange.Line.visible = msoFalse
.Left = 450
.Top = 2.5
.Width = 187.313
.Height = 178.988
.OnAction = "....NOME da MACRO AQUI...."
End With
Application.CutCopyMode = False
End Sub
Obrigado
Jorge
Editado pela última vez por JCabral em 14 Abr 2022 às 06:59, em um total de 1 vez.