Ir ao conteúdo
  • Cadastre-se

Criação de código VBA em planilhas do Excel 2007


Posts recomendados

Senhores,

Sou novato em programação VBA, e gostaria da ajuda de vocês, para melhorar algumas planilhas no Excel 2007.

Possuo uma "Pasta de Trabalho" no EXCEL 2007, que contem as seguintes planilhas:

- Plan1 = Principal (Contem HIPERLINKS para as demais planilhas)

- Plan2 = Teste1

- Plan3 = Teste2

- Plan4 = Teste3

1)- A planilha (Plan1), denomidade de Principal, contem letras na coluna B nas linhas de 1 a 15.

2)- A sequencia destas letras são:

A,B,C,D e E - Refere-se a HIPERLINKS, para a planilha (Plan2) - Teste1

F,G,H,I e J - Refere-se a HIPERLINKS, para a planilha (Plan3) - Teste2

K,L,M,N e O - Refere-se a HIPERLINKS, para a planilha (Plan4) - Teste3

3)- Gostaria de criar um código em VBA, que ao abrir a pasta de trabalho, somente a planilha

denominada de (Plan1) - Principal, fosse mostrada.

4)- E ao clicar em um dos HIPERLINKS da planilha Principal, fosse mostrada a planilha referente ao mesmo, exemplo: (plan2)-Teste1.

5)- Ao voltar para a planilha Principal e clicar em um outro HIPERLINK de uma outra planilha, exemplo: (plan3)-Teste2, ocultasse

a planilha (plan2)-Teste1 e mostrasse a planilha (plan3)-Teste2, e assim, sucessivamente.

6)- Ao fechar a pasta de trabalho, ocultar todas as planilhas, EXCETO: a planilha (plan1) - PRINCIPAL

Segue link, com modelo da "Pasta de Trabalho", contendo as planilhas:

http://www.4shared.com/file/DZS16f9n/CodigoTeste.html?

Sds,

Diovanino Cássio

Link para o comentário
Compartilhar em outros sites

Boa noite,

Em "Esta Pasta de Trabalho" coloque o seguinte código:

Private Sub Workbook_Open()

'Oculta todas as planilhas ao abrir o excel (As planilhas só serão exibidas novamente com outro código VBA)

Sheets("Teste1").Visible = 2

Sheets("Teste2").Visible = 2

Sheets("Teste3").Visible = 2

End Sub

Em cada planilha Teste, coloque este código:

Private Sub Worksheet_Deactivate()

ActiveSheet.Visible = 2

End Sub

Você só conseguirá acessar as planilhas com VBA agora, então talvez seja melhor substituir os hiperlinks por códigos como este:

Sub Exemplo ()

Sheets("Teste1").select

end sub

Abraços

Link para o comentário
Compartilhar em outros sites

Meu caro Wendell,

Obrigado pela resposta...!

Mas não posso substituir os HIPERLINKS pelo código, pois cada HIPERLINK criado na planilha PRINCIPAL, ao ser clicado, vai para uma determina célula de uma das planilhas TESTES.

Sem contar, que são centenas de HIPERLINKS...!

Para você ter uma ideia, na minha planilha PRINCIPAL oficial, em uma determina coluna da planilha, posso ter mais de 100 células com HIPERLINKS.

Sds,

Diovanino Cássio

Link para o comentário
Compartilhar em outros sites

1. apague o código 'BeforeClose' existente em 'EstaPasta_de_trabalho'

2. em substituição ao código existente no módulo da Plan 'Principal' coloque os códigos abaixo

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim strRng As String, strCell As String, wsDest As Worksheet
strRng = Target.SubAddress
strCell = Right(strRng, Len(strRng) - InStr(strRng, "!"))
Set wsDest = Sheets(Left(strRng, InStr(strRng, "!") - 1))
With wsDest
.Visible = True
.Activate
.Range(strCell).Select
End With
End Sub
Private Sub Worksheet_Activate()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Visible = (ws.Name = Me.Name)
Next
Set ws = Nothing
End Sub


Link para o comentário
Compartilhar em outros sites

...2. em substituição ao código existente no módulo da Plan 'Principal' coloque os códigos abaixo
...Só que, ao invés de colocar os códigos na "Pasta de Trabalho", tive que colocar na planilha principal, que é o correto

Não entendi o que você quis dizer. Não fui eu que sugeriu para colocar no módulo de 'EstaPasta'...:confused:veja acima...talvez algum 'insight'...:rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...

Boa noite.

 

Não entendo quase nada de código VBA no excel , pois estou pedindo um help a quem possa me ajudar.

Tenho uma planilha padrão que segue em anexo .

O que preciso é o seguinte :

 

1.Inverter a coluna dos anos para a forma crescente ( contas do lado esquerdo ) ;

2.Com a fórmula do PROCV localizar determinadas contas que estão ao lado nas respectivas abas;

3.Abrir a planilha para outros arquivos independentemente do ano.

 

 

Obrigado pelo help.

 

 

João Carlos

 

DFP.xls

Link para o comentário
Compartilhar em outros sites

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...