Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
diovanino

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

Recommended Posts

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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


  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Osvaldo...!

Funcionou espetacularmente bem.

Só que, ao invés de colocar os códigos na "Pasta de Trabalho", tive que colocar na planilha principal, que é o correto.

Obrigado pela ajuda...!

Sds,

Diovanino Cássio

Compartilhar este post


Link para o post
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:

Compartilhar este post


Link para o post
Compartilhar em outros sites
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:

Me desculpe, acho que a má interpretação foi da minha parte.

Mas valeu...!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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






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

×