Ir ao conteúdo

Posts recomendados

Postado

Pessoal minha dúvida é a seguinte,

 

Tenho uma planilha de fluxograma de processos, nela uma das abas é um indice com as figuras padrões. Criei uma macro para copiar a figura da planilha indice e colar na planilha P1 onde será feito o fluxograma e nesta mesma pasta poderei ter N planilhas com fluxograma, sendo que o metodo usado para criar uma nova planilha será copiar e colar. Quando faço isso ao utilizar a macro ele copia a figura na planilha P1 mas, gostaria de que ela colasse na planilha atual, na qual eu estaria manipulando o fluxograma no momento. É possível deixar como destino a planilha que está ativa no momento da execução da Macro?

 

 

Segue abaixo o código:

Sub Macro24()
'
' Macro24 Macro
'

'
    Sheets("Índice de simbolos").Select
    ActiveSheet.Shapes.Range(Array("Flowchart: Process 97")).Select
    Selection.Copy
    Sheets("P1").Select
    ActiveSheet.Paste
End Sub

Postado
Sub CopiaColaShape()
 Sheets("Índice de simbolos").Shapes.Range(Array("Flowchart: Process 97")).Copy
 ActiveSheet.Paste
End Sub

 

Postado

Osvaldo tentei a sua sugestão mas não funcionou, deu erro. De qualquer forma Agradeço.

 

Talvez um melhor caminho do que copiar e colar seja inserir a forma, mas acredito que será necessário criar outro post no fórum.

Postado

Disponibilize uma amostra do seu arquivo com o código instalado.

Postado

Experimente o código abaixo no lugar do anterior.

Sub CopiaColaShape()
 Sheets("Índice de simbolos").Shapes("Flowchart: Process 97").Copy
 ActiveSheet.Paste
End Sub

 

Talvez a alternativa que segue abaixo possa ser útil. Exemplo: se você estiver montando um fluxograma em uma certa planilha e quiser inserir nela uma cópia de uma figura existente na planilha "Índice de simbolos", basta ativar esta última, selecionar a figura e rodar um outro código.

Se você quiser experimentar:

1. cole uma cópia da declaração de variável abaixo no topo de um módulo comum (pode ser no módulo que contém o código que passei antes; a declaração deverá ficar acima do código existente)

Public PlanAnt As String

 

2. cole uma cópia do código abaixo no módulo de "EstaPasta_de_trabalho"

Sub Workbook_SheetDeactivate(ByVal Sh As Object)
 PlanAnt = Sh.Name
End Sub

3. cole uma cópia do código abaixo em um módulo comum (pode ser no mesmo módulo que contém o código que passei antes)

Sub CopiaColaPlanAnt()
 Selection.Copy
 Sheets(PlanAnt).Paste
End Sub

funcionamento - se você estiver montando um fluxograma na planilha ABC, por exemplo, e quiser replicar nela uma figura, então ative a planilha "Índice de simbolos" / selecione a figura / rode o código CopiaColaPlanAnt ~~~> assim a figura selecionada será replicada na planilha ABC; para rodar o código facilmente ou coloque um botão na planilha "Índice de simbolos" ou vincule a um atalho de teclado

  • Membro VIP
Postado

@PauloJoy

 

Se a resposta foi útil, clique em Curtir aa resposta do Osvaldo e marque o tópico como Resolvido.

(Na minha assinatura tem um link para uma orientação de como marcar o tópico como resolvido)

 

[]s

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!