Estou criando painéis baseados no Excel e quero poder copiar e colar gráficos em outro aplicativo quando a planilha estiver protegida. Não quero que os gráficos sejam editados, por isso deixei a caixa "Editar objetos" desmarcada quando protejo a folha.
Eu encontrei a macro a seguir e atribui individualmente a cada um dos gráficos em cada planilha (há 2-5 gráficos em cada guia).
Private Sub Chart1_Click()
ActiveSheet.ChartObjects(1).CopyPicture
MsgBox ("Chart copied to clipboard. You can now paste this into another
application.")
End Sub
Infelizmente, não parece estar funcionando corretamente (ou estou fazendo algo errado). Quando eu protegi a planilha depois de atribuir a macro, clicarei nos gráficos e tentei colá-los ... ele apenas cola o primeiro da planilha - por exemplo, Se houver 4 gráficos na planilha, ele só cola o primeiro que eu atribuí a macro para. Além disso, depois de desprotegê-lo, os gráficos têm alguma dificuldade em se ajustar à planilha desprotegida e você precisa clicar com o botão direito neles para limpar isso (basicamente eles inicialmente aparecem / funcionam como se ainda estivessem na planilha protegida até que você clique com o botão direito neles).
Alguma idéia em uma macro diferente ou para consertar essa?
Muito obrigado antecipadamente!
Tags microsoft-excel macros charts