none
Propriedade Visible do objeto WorkSheet como programar???

    Question

  • Caros amigos :

     

    Mais uma vez venho pedir a ajuda de vocês para o seguinte problema :

     

    Como faço para  criar uma rotina para ocultar uma planilha expecífica mudando a propriedade Visible do objeto WorkSheet (planilha), ou seja, como ficaria a programação de uma rotina para que seja oculta automaticamente uma planilha (ex: plan1) mudando a propriedade Visible do objeto WorkSheet (plan1).

     

    Fiz uma programação para que torne uma planilha visível e invisível usando uma programação que oculta automaticamente, mas só que usando como ferramenta a opção Formatar/Planilha/Ocultar e ficou assim :

     

    sheets("BD").select 'seleciona a planilha com o nome BD

    ActiveWindow.SelectedSheets.Visible = False ' oculta a planilha selecionada, ou seja, a planilha com o nome BD

     

    Sheets("BD").Visible = True 'faz com que a planilha com o nome BD volte a ficar visível

     

    O que eu gostaria mesmo é se possível ocultar usando a propriedade Visible do objeto WorkSheet, pois desta forma a planilha fica muito mais segura.

     

    Espero ter sido claro.

     

    Muito obrigado!!!

    Sunday, November 11, 2007 3:10 PM

Answers

  • O que você precisa é dos parâmetros corretos.

     

    Code Block

    Sub hideSheet()

       

         'Sheet oculta - Habilita visualizá-la novamente pela barra de menu

         ThisWorkbook.Sheets(1).Visible = xlSheetHidden  ' = -1
         
         'Sheet visivel
         ThisWorkbook.Sheets(1).Visible = xlSheetVisible ' = 0
         
         'Sheet oculta - não habilita visualizá-la novamente pela barra de menu
         ThisWorkbook.Sheets(1).Visible = xlSheetVeryHidden ' = 2
         
    End Sub

     

     

     

    Abs,

    Tuesday, November 13, 2007 7:48 PM

All replies

  • ThisWorkbook.Worksheets("Sheet2").Visible=False

     

    Tuesday, November 13, 2007 12:01 AM
    Moderator
  • Olá amigos e olá amigo Luiz :

     

    Obrigado por responder ao meu tópico!!!

     

    A programação que você me indicou faz exatamente o que eu já havia conseguido fazer, mas de formna diferente como descrevi acima. Da maneira que eu fiz, e da forma que você me indicou, se uma pessoa for em FORMATAR>PLANILHA>REEXIBIR, ela consegue fazer a planilha aparecer novamente.

     

    O que eu gostaria de saber (se for possível ), é ocultar uma planilha fazendo uma programação que oculte uma planilha usando as ferramentas do próprio VBA, ou seja, uma programação que oculte a planilha na Opção VISIBLE na caixa de opções ao lado esuqerdo da tela de edição do VBA no Excel.

     

    EX: entro no editor do VB no Excel, do lado esquerdo eu escolho a planilha que vai ser oculta, na caixa de propriedades do VBA eu escolha a opção xlSheetHidden em VISIBLE.

     

    O que eu gostaria de fazer é uma programação que execute a tarefa que descrevi no exemplo.

     

    Muito obrigado pela atenção!!! Um grande abraço!

     

    Tuesday, November 13, 2007 8:00 AM
  • Este arquivo tem os exemplo que deseja de ocultar e exibir planilhas via VBA:

     

    http://www.tudosobrexcel.com/arquivos/forum/2007/PlanilhaComValidade.zip

     

     

     

    http://www.tudosobrexcel.com/

    Tuesday, November 13, 2007 10:05 AM
  • Olá amigão Fábio blz?

     

    Poxa achei a planilha que vc fez uma coisa de louco, ficou muito dez mesmo, mas ainda não respondeu a minha dúvida meu amigo. Notei que quando chegar na última exibição tudo some da tela, ou seja, dá-se a impressão que foi fechado por completo o arquivo.

    Não sei se estou dando varada n'água, mas não entendi como eu farei para fazer ocultar somente uma planilha???

     

    Vou tentar facilitar mais um pouco a minha dúvida:

     

    Vamos imaginar que eu queira criar um botão, que quando clicado ele oculte uma planilha com o nome BD, mas não quero que essa planilha seja oculta usando o comando ThisWorkbook.Worksheets("BD").Visible=False , pois com esse comando se uma pessoa for em FORMATAR>PLANILHA>REEXIBIR e escolher a planilha BD ela volta a ser visível.

    O que quero é um comando que oculte a planilha no VB, tipo quando escolhemos a opção xlSheetHidden na caixa de propriedades da planilha no  VBA.

     

    Fábio muito obrigado pela sua atenção, e já deixo aqui meu agradecimento a todos que me ajudam nesse fórum....VALEU!!!

    Tuesday, November 13, 2007 7:21 PM
  • O que você precisa é dos parâmetros corretos.

     

    Code Block

    Sub hideSheet()

       

         'Sheet oculta - Habilita visualizá-la novamente pela barra de menu

         ThisWorkbook.Sheets(1).Visible = xlSheetHidden  ' = -1
         
         'Sheet visivel
         ThisWorkbook.Sheets(1).Visible = xlSheetVisible ' = 0
         
         'Sheet oculta - não habilita visualizá-la novamente pela barra de menu
         ThisWorkbook.Sheets(1).Visible = xlSheetVeryHidden ' = 2
         
    End Sub

     

     

     

    Abs,

    Tuesday, November 13, 2007 7:48 PM
  • Fala ai meu amigo Zerick como vc está? Espero que esteje muito bem!!!

     

    Muito obrigado pela sua grande ajuda. O comando que vc postou funcionou que é uma beleza. Era isso que eu estava precisando para proteger uma planilha.

     

    Criei uma planilha de férias para a empresa que trabalho, o cadastro, consulta, exclusão de cadastro,etc é feito tudo em uma userform e o Excel praticamente funciona como banco de dados.

    Nessa planilha criei um banco de dados para registrar o login do usuário e todas as modificações que ele fizer na planilha, pois criei um esquema de login para ela.

    Criei um comando para que quando uma pessoa loga na planilha o comando deixa visivel a planilha do banco de dados registra o login e todas as auterações que a pessoa fizer na planilha. A cada registro ela volta a ser visivel e depois voltar a ocultar. Mas se a pessoa for em FORMATAR>PLANILHA>REEXIBIR e escolher a planilha BD ela volta a ficar visivel. O comando que vc me enviou já não tem essa possibilidade.

     

    Muito obrigado pela sua ajuda meu amigo. Se vc precisar de alguma ajuda na área gráfica ( Photoshop, Premiere, Particle Illusion ) eu estarei a sua disposição e a disposição de todos os amigos desse fórum!!!!!!!!!!

     

     

    Muito obrigado!!!!

     

     

    Tuesday, November 13, 2007 9:30 PM
  • Valeu cara, quando eu precisar duma foto melhorando minha aparência, lembrarei de você. (eheh!)

    Obrigado mesmo, e esteja a vontade para me contatar em virtude de qualquer outra necessidade.

    [[A B R A Ç O S]]

    Wednesday, November 14, 2007 1:24 PM
  • Como vai amigo Zerick blz?

     

    Quando vc quiser qualquer coisa relacionada a área de efeitos visuais pode contar com minha ajuda. Meu MSN é fbafv@hotmail.com se vc quiser me adicionar fique a vontade. Se vc puder me dar mais uma ajudinha em relação a um tópico que postei com o nome Deletando uma sub rotina eu ficarei muito grato, ms se não puder continuo com uma gratidão pela sua ajuda. Valew meu irmão!!!

    Wednesday, November 14, 2007 2:03 PM
  • também  pode simplificar

    Plan"numero da sua plan".Visible = xlSheetVeryHidden

    ficaria assim de fosse ocultar a primeira plan da minha pasta de trabalho

    Plan1.Visible = xlSheetVeryHidden

    Desse modo não tem como colocar ela visível sem acessar o codigo VBA.

    espero ter ajudado......

    Thursday, December 12, 2013 12:59 AM
  • Leandro,

    Obrigado pela contribuição no fórum. No entanto, o tópico ao qual você respondeu é muito antigo (vide data de postagem da primeira pergunta). Provavelmente quem teve essa dúvida já não está mais acompanhando o tópico e não se beneficiará da resposta. As boas práticas de participação num fórum não recomendam postar respostas de perguntas quem foram feitas há muito tempo atrás.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br


    Friday, December 13, 2013 8:13 PM
    Moderator