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
  • Avatar do usuário
#18433
Olá pessoal!
Estou trabalhando em um arquivo no qual desejo incluir automaticamente alguns rótulos em um gráfico.
Fiz uma versão reduzida do arquivo para enviar para vocês.
Na Plan1, o botão inserir copia as células e cola como imagem na célula desejada. Foi esta a forma que eu encontrei de atualizar estes rótulos automaticamente.
O problema fica na hora de excluir os rótulos existentes para adicionar outros. A forma que eu encontrei para fazer foi selecionar o intervalo em que estão os rótulos, recortar, colar em outra aba e usar o comando
Activesheet.shapes.selectall
Selection.delete
O problema é que quando o comando recortar é executado (mesmo até antes de colar e excluir) o gráfico e todas as imagens da aba apenas ficam visíveis com zoom 100%. Eu não faço ideia do porque.
Tentei desativar e depois ativar o screenupdate mas não adiantou.
As imagens voltam ao normal depois que salvo o arquivo, fecho e abro de novo.
Aguardo ajuda de vocês.
Se tiverem alguma outra forma de atualizar rótulos automaticamente, eu aceito!
Muito obrigado desde já!
Você não está autorizado a ver ou baixar esse anexo.
#18447
Experimente.
Altere a rotina para incluir shapes/rotulos
Código: Selecionar todos
Sub Macro1()
    
    Sheets("Plan1").Select
    Range("B8").Select
    Selection.Copy
    Range("h23").Select
    ActiveSheet.Pictures.Paste.Select
    Range("a40") = Selection.Name
    
    Range("B9").Select
    Selection.Copy
    Range("h15").Select
    ActiveSheet.Pictures.Paste.Select
    Range("a41") = Selection.Name
    
    Range("B10").Select
    Selection.Copy
    Range("h8").Select
    ActiveSheet.Pictures.Paste.Select
    Range("a42") = Selection.Name
    
End Sub
e a rotina para excluir shape/rotulo
Código: Selecionar todos
Sub Macro2()
For x = 40 To 42
    ActiveSheet.Shapes(Cells(x, 1).Value).Delete
    Cells(x, 1) = ""
Next
End Sub
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