none
Ocultar uma planilha específica RRS feed

  • Pergunta

  • Boa Noite, Amigos....

    É o seguinte.... tenho uma aplicação com vários formulários, e fiz este código para
    ocultar a planilha em questão exibindo somente os forms:

    Sub Workbook_Open()
        Application.Visible = False
        ThisWorkbook.Application.Visible = False
        FormLoginSenha.Show
    End Sub

    Ela funciona perfeitamente, exceto pelo fato de que, todas as planilhas abertas
    ficam ocultas.

    Gostaria de saber se há uma solução pra isso...
    Preciso que somente a planilha em questão fique oculta, o restante não...

    Desde já agradeço a atenção...
    terça-feira, 30 de setembro de 2014 00:08

Respostas

  • Boa noite Thiago.

    Para responder vc precisa definir o que vc quer ocultar, se são as abas (planilhas) ou o arquivo (pasta de trabalho).

    Supondo que vc deseja ocultar toda a pasta de trabalho atua, use algo como:

    Sub Workbook_Open() ActiveWindow.Visible = False

    FormLoginSenha.Show End Sub

    Abraço.


    Filipe Magno

    terça-feira, 30 de setembro de 2014 00:54
  • Se quiser ocultar uma planilha (aba) da pasta de trabalho em questão, utilize:

    Sub Workbook_Open()
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetHidden
      FormLoginSenha.Show
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetVisible
    End Sub
    


    No entanto, fique atento a possíveis erros que possam ocorrer no formulário. Se você ocultar uma planilha, abrir o formulário e ocorrer um erro, a visibilidade da planilha não será restaurada e seu usuário ficará na mão. Para contornar isso, adicione um tratamento de erro:

    restaurada e seu usuário ficará na mão. Para contornar isso, adicione um tratamento de erro:
    Sub Workbook_Open()
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetHidden
      
      On Error GoTo linError
      FormLoginSenha.Show
      
    linEnd:
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetVisible
      Exit Sub
    
    linError:
      MsgBox "Erro " & Err.Number & " ocorrido." & vbNewLine _
      & "Descrição do erro: " & Err.Description
      Resume linEnd
    End Sub
    


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

    quinta-feira, 2 de outubro de 2014 21:28
    Moderador

Todas as Respostas

  • Boa noite Thiago.

    Para responder vc precisa definir o que vc quer ocultar, se são as abas (planilhas) ou o arquivo (pasta de trabalho).

    Supondo que vc deseja ocultar toda a pasta de trabalho atua, use algo como:

    Sub Workbook_Open() ActiveWindow.Visible = False

    FormLoginSenha.Show End Sub

    Abraço.


    Filipe Magno

    terça-feira, 30 de setembro de 2014 00:54
  • Se quiser ocultar uma planilha (aba) da pasta de trabalho em questão, utilize:

    Sub Workbook_Open()
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetHidden
      FormLoginSenha.Show
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetVisible
    End Sub
    


    No entanto, fique atento a possíveis erros que possam ocorrer no formulário. Se você ocultar uma planilha, abrir o formulário e ocorrer um erro, a visibilidade da planilha não será restaurada e seu usuário ficará na mão. Para contornar isso, adicione um tratamento de erro:

    restaurada e seu usuário ficará na mão. Para contornar isso, adicione um tratamento de erro:
    Sub Workbook_Open()
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetHidden
      
      On Error GoTo linError
      FormLoginSenha.Show
      
    linEnd:
      ThisWorkbook.Worksheets("Plan1").Visible = xlSheetVisible
      Exit Sub
    
    linError:
      MsgBox "Erro " & Err.Number & " ocorrido." & vbNewLine _
      & "Descrição do erro: " & Err.Description
      Resume linEnd
    End Sub
    


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

    quinta-feira, 2 de outubro de 2014 21:28
    Moderador