Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Isicawa

Cod. Vba Para Acesso A Outras Planilhas

Recommended Posts

Oi,

Tenho várias planilhas com dados distintos. Para acessar cada planilha estou tentando criar um link utilizando VBA.

Já criei um drop down com as opções que seriam cada planilha. Depois disso, coloquei um botão, que a intenção é que o usuário escolha a opção através do combo box e clique no botão OK. No botão deverá ter um código que verifica qual opção o usuário escolheu e leva até ela. Ah, na planilha que o usuário escolheu deve ter uma opção para voltar à Principal.

Não encontrei o código VBA para fazer isso no Excel. Quem souver, me ajude.

tks.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, montei uma planilha conforme a descrição que me deu, só que são muitos detalhes para postar aqui, se desejar, envie-me um e-mail que eu mando a planilha prá você com as explicações. Mesmo assim vou tentar resumir aqui alguma coisa.

Lembrando também que ao invês de usar o VBA, você pode usar hyperlinks.

1 - Crie uma planilha para servir de ligação com as demais, chame-a de "MENU" (por exemplo);

2 - Crie uma pequena tabela com as seguintes colunas:

COL A = Nome da Planilha (Nome ou descrição)

selecione abaixo do cabeçalho desta coluna a quantidade de linhas que

comportarão os nomes das plans, como por exemplo A2:A5, clique na

caixa de nome e digite "PLANS", esse será o nome deste intervalo

COL B = Endereço da Planilha (Localização na rede ou no seu HD, incluir o caminho completo, exemplo: C:\Meus Documentos\Escritório.xls)

COL C = TARGET (Planilha Alvo para abertura, será utilizado pelo VB)

3 - Abra a caixa de ferramentas de controle e coloque na planilha uma COMBOBOX, lembrando que você pode fazer a mesma coisa à partir de um FORM VBA, mas para simplificar estamos fazendo direto na plan;

4 - Na caixa de propriedades da COMBOBOX, coloque "Combo_Plan" na propriedade NOME;

5 - Ainda na caixa de propriedades da COMBOBOX, escreva "PLANS" na

propriedade ListFillRange, que nada mais é do que o intervalo nomeado

da coluna A (Nome da Planilha), e que será exibida na Combo_Plan. Se

estivésse utilizando um FORM VBA, você colocaria o nome "PLANS" na propriedade

RowSource;

6 - Dê um duplo clique na COMBOBOX (Combo_Plan) e coloque o código abaixo, não se esqueca de que o objeto tem que estar no modo ESTRUTURA:

Private Sub Combo_Plan_Change()

Range("c2") = Combo_Plan.Value

End Sub

7 - Abra o editor do Visual Basic (Ferramentas --> Macro --> Editor do Visual Basic;

8 - Clique em Inserir --> Módulo, depois faça:

- Crie duas variáveis:

Public Open_Plan As String

Public linha As Integer

- Crie uma rotina chamada Buscar_Ender:

Public Sub Buscar_Ender()

linha = 2

While Sheets("plan1").Cells(linha, 1) <> Sheets("plan1").Range("c2")

linha = linha + 1

Wend

Open_Plan = Cells(linha, 2)

Cells(linha, 2).Select

MsgBox "O endereço da planilha " & Sheets("plan1").Range("c2") & " é " &

Open_Plan, vbInformation

On Error GoTo erro

Workbooks.Open FileName:=Open_Plan

Exit Sub

erro:

MsgBox "Não foi possível encontrar " & Open_Plan, vbCritical

End Sub

9 - Saia do editor do visual basic, e selecione um botão de comando na caixa de ferramentas de controle e arraste-o para planilha, na propriedade CAPTION digite "Abrir Planilha", e na propriedade nome "BTN_Busca", por exemplo;

10 - Dê um duplo clique no Botão e digite o código abaixo:

Private Sub btn_busca_Click()

Buscar_Ender

End Sub

Pronto (se não houver erros), ao escolher a planilha na combobox, ela enviará o valor para a célula "C2" (ALVO), clique no botão Abrir Planilha, abrirá uma caixa de mensagem com a descrição da planilha e o endereço, se tudo estiver correto (endereço) a planilha escolhida será aberta, caso haja algum problema no ENDEREÇO (rede fora do ar, endereço errado), ou no NOME DA PLAN, será exibida uma mensagem de ERRO.

É claro que há muitas outras maneira de se programar e chegar ao mesmo resultado, esse é apenas um exemplo que me veio a cabeça, fiz, testei e postei.

Como já disse, se quiser, mande-me um e-mail e eu mando a planilha de exemplo, tenho certeza de que é muito mais fácil.

Abraços a todos deste Tópico. :palmas:

CMKILL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×