Ir ao conteúdo

Posts recomendados

Postado

@Rafael de Souza Guimarães Use as propriedades Visible para exibir a planilha e Activate para selecionar, p.ex.

 

Sheets("Planilha2").Visible = xlSheetVisible
Sheets("Planilha2").Activate

Depois em Worksheet Deactivate você pode ocultar a planilha novamente quando sair dela.

  • 3 meses depois...
Postado

@Midori Aqui não permite que eu coloque no formato xlsm. Vou enviar os códigos.

 

Módulo

Public Sub lsShow()
  frmLogin.Show
End Sub

Public Sub lsDesabilitar()
    ActiveWorkbook.Unprotect Password:="123"
    Sheets("Agenda Anual").Visible = False
    Sheets("Agenda Mensal").Visible = False
    Sheets("Agenda Diária").Visible = False
    Sheets("Agendados de Eventos").Visible = False
    Sheets("Intervalos de Tempo").Visible = False
    Sheets("Afastamentos").Visible = False
    Sheets("Aposentadoria").Visible = False
    Sheets("Domínio Atendimento").Visible = False
    Sheets("Lista de Tarefas").Visible = False
    Sheets("Suportes Domínio").Visible = False
    Sheets("Índice").Visible = False
    Sheets("Senha").Visible = False
    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
    ActiveWorkbook.Save
End Sub

 

frmlogin

Private Sub CommandButton1_Click()
    Dim lTotal      As Long
    Dim lContador   As Long
 
    lsDesabilitar
 
    Sheets("Senha").Range("$A$1:$C$50000").AutoFilter Field:=1, Criteria1:="=" & txtUsuario.Text
    Sheets("Senha").Range("$A$1:$C$50000").AutoFilter Field:=2, Criteria1:="=" & txtSenha.Text
 
    lTotal = WorksheetFunction.Subtotal(3, Sheets("Senha").Range("A:A"))
 
    If lTotal > 1 Then
        ActiveWorkbook.Unprotect Password:="123"
 
        For lContador = 2 To lTotal
            Sheets(Sheets("Senha").Range("C" & lContador).Value).Visible = True
        Next lContador
 
        Unload frmLogin
        
        MsgBox ("Bem vindo!") & Chr(13) & ("Agenda Particular!!!")
    Else
        MsgBox ("Usuário ou senha incorretos!") & Chr(13) & ("Contate o Proprietário da Planilha!")
    End If
 
    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
End Sub
 
Private Sub Frame1_Click()

End Sub

Private Sub txtUsuario_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
 
Private Sub UserForm_Activate()
    txtUsuario.SetFocus
End Sub
 
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 13 Then  ' The ENTER key.
       SendKeys "{tab}"    ' Set the focus to the next control.
       KeyAscii = 0        ' Ignore this key.
    End If
End Sub

 

Esta pasta de trabalho

Sub TelaCheia_On()
    'Oculta todos os Menus (Ribbons)
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
    
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayHeadings = False
    
    With ActiveWindow
        .DisplayVerticalScrollBar = False
        .DisplayWorkbookTabs = False
        .DisplayHeadings = False
        .DisplayZeros = False
        .DisplayHeadings = False
        .DisplayGridlines = False
    End With
    
End Sub
 

 

  • Solução
Postado

@Rafael de Souza Guimarães  O formulário deixa todas as planilhas visíveis. Se você quiser só exibir a planilha ao selecionar o botão, tire esse loop do formulário,

 

For lContador = 2 To lTotal
    Sheets(Sheets("Senha").Range("C" & lContador).Value).Visible = True
Next lContador

 

E apenas ative a planilha Índice,

 

Sheets("Índice").Visible = True
Sheets("Índice").Activate

 

Para exibir a planilha no botão, p.ex a planilha Agenda Anual pode ser assim,

 

Sub ExibirAgendaAnual()
     ActiveWorkbook.Unprotect Password:="123"
        Sheets("Agenda Anual").Visible = True
        Sheets("Agenda Anual").Activate
     ActiveWorkbook.Protect Password:="123"
End Sub

 

  • Obrigado 1
Postado

@Rafael de Souza Guimarães  Você pode usar uma sub com parâmetro para ocultar as outras e deixar visível apenas a planilha passada como argumento,

 

Sub ExibirAgendaAnual()
    Call DesabilitarPlanilhas(PlanilhaVisivel:="Agenda Anual")
End Sub

Public Sub DesabilitarPlanilhas(PlanilhaVisivel As String)
    Dim Planilha As Worksheet
    
    If ThisWorkbook.Worksheets(PlanilhaVisivel).Visible = False Then
        ActiveWorkbook.Unprotect Password:="123"
        ThisWorkbook.Worksheets(PlanilhaVisivel).Visible = True
        ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
    End If
    
    ThisWorkbook.Worksheets(PlanilhaVisivel).Activate
    
    For Each Planilha In ThisWorkbook.Worksheets
        If Planilha.Name <> PlanilhaVisivel _
        And Planilha.Name <> "Menu" _
        And Planilha.Name <> "Índice" Then
                If Planilha.Visible = True Then
                    ActiveWorkbook.Unprotect Password:="123"
                        Planilha.Visible = False
                    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
                End If
        End If
    Next Planilha
End Sub

 

  • Obrigado 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!