none
tornar planilhas visíveis RRS feed

  • Pergunta

  • estou com problemas neste assunto:

    Eu tenho várias planilhas em um workbook e quando estou desenvolvendo preciso de todas elas visíveis e quando a aplicação está com o usuário mostro apenas as planilhas que o usuário precisa ver, só que isso é dinâmico e eu mostro e oculto conforme o que o usuário está fazendo.

    Ocorre que está retornando erro sobre essas instruções e eu já experimentei várias formas de fazer e não ocorre sempre na mesma planilha, às vezes sim, mas também em uma planilha diferente.

    eu já experimentei as seguintes maneiras:

    dim mostraplan as boolean

    NomePlanilha = Application.Worksheet("Sheet1") ' para ocultar a planilha - NomePlanilha é um nome de objeto atribuido (prop. name) mostraplan = sheets("NomePlanilha").visible = true if mostraplan then sheets("NomePlanilha").visible = false ' para mostrar a planilha mostraplan = sheets("NomePlanilha").visible = false if mostraplan then sheets("NomePlanilha").visible = true Outro método: ' usando o nome da planilha (prop. (name)) Sheet1.visible = 0 sheet1.visible = true sheet1.visible = xlSheetVisible

    todas essas formas retornam erro.

    Eu coloquei esses comandos em um procedimento SUB em um módulo normal e quando mando executar a macro, ela executa sem erro, mas quando é chamado por outra macro dá problema.

    Obrigado


    Rui Martins



    quarta-feira, 29 de abril de 2015 19:18

Respostas

  • Rui, a quantidade de estados possíveis de visibilidade de uma planilha são 3, e não 2 (True e False).

    São eles:

    xlSheetVisible - planilha visível

    xlSheetHidden - planilha oculta que pode ser reexibida no Excel

    xlSheetVeryHidden - planilha oculta que só pode ser reexibida pelo VBE ou código VBA

    ---

    A forma a qual sugiro você alterar a visibilidade d eplanilhas é, por exemplo:

    ThisWorkbook.Worksheets("Plan1").Visible = xlSheetHidden



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

    segunda-feira, 4 de maio de 2015 11:58
    Moderador