Ir para conteúdo
Fórum Script Brasil
  • 0

Excell Avançado


Guest - Rodrigo -

Pergunta

Guest - Rodrigo -

Bom dia,

Tenho uma macro que abre outras planilhas e roda a macro existente nessas planilhas.

Gostaria de declarar uma variavel na primeira planilha e que fosse lida por todas as planilhas que ele vai abrindo, dentro da macro delas. Tem como fazer isso??

Tentei declarar a variavel como Public, porém as outras planilhas não conseguem ler as informações contida nessa variavel.

Agradeço desde já a ajuda,

Rodrigo

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

mas você precisa setar um valor pra ela

Veja o ex:

dentro do módulo eu criei a variavel:

Public lis As Integer

agora na plan1 eu coloquei esse código:

Private Sub Worksheet_Activate()

lis = lis + 1

MsgBox lis

End Sub

e na plan2 eu coloquei o mesmo código

Private Sub Worksheet_Activate()

lis = lis + 1

MsgBox lis

End Sub

pronto, quando eu clico na plan1, ele exibe 1, quando eu clico na plan2, exibe 2

e assim por diante.

A variável está visivel em todas as planilhas dessa pasta de trabalho.

Tentaí

Abraços,

Lisandro oliveira

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Rodrigo -

Funciona quando é da mesma pasta de trabalho (plan1, plan2, etc...), porém eu necessito que seja lida a variavel por outra pasta de trabalho.

Se tiver alguma ideia eu ficaria feliz.

Valeu

Rodrigo

Link para o comentário
Compartilhar em outros sites

  • 0

Segue:

No 1º Workbook

No VBAPROJET(BOOK1)

- É preciso renomear o VBAPROJECT(BOOK1) por ex: VBAPROJECTBOOK1(BOOK1)

Insiro um módulo e crio a variável public nele:

Public lis As Integer

agora na plan1 eu coloquei esse código:

Private Sub Worksheet_Activate()

lis = lis + 1

MsgBox lis

End Sub

e na plan2 eu coloquei o mesmo código

Private Sub Worksheet_Activate()

lis = lis + 1

MsgBox lis

End Sub

**SALVE ESSE WORKBOOK**

**************************************************************************

Agora para essa variável ser visível em outro Workbook você precisa fazer a referencia:

Agora abra o outro workbook,

**SALVE ESSE WORKBOOK TAMBEM**

e vá em "Tools/macros/Visual basic editor"

e dentro do VBAPROJEcT(BOOk2)

Vá em Tools/References, será exibida uma caixa de diálogo

Clique em VBAPROJECTBOOK1 / OK

você estará fazendo uma referencia do VBAPROJECTBOOK1(BOOK1) com o VBAPROJEcT(BOOk2)

Agora colocoque no VBAPROJEcT(BOOk2):

Na plan1:

Private Sub Worksheet_Activate()

lis = module1.lis + 1

MsgBox lis

End Sub

e na plan2

Private Sub Worksheet_Activate()

lis = module1.lis + 1

MsgBox lis

End Sub

pronto, a variável está sendo vista nas duas pastas de trabalho.

Tentaí,

Abraços,

Lisandro OLiveira.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...