Notifications
Clear all

SENHA NA MACRO

5 Posts
2 Usuários
0 Reactions
1,586 Visualizações
(@raike)
Posts: 0
New Member
Topic starter
 

Bom dia,

Meus amigos tenho uma planilha de ponto em anexo e precisava da seguinte ajuda.

1- Tenho a aba "INICIO" precisava que essa fosse a aba principal sempre ao abrir a planilha e que ninguém pudesse trocar de ABA enquanto não clicar em um dos dois botões "usuário 1" ou "usuário 2"
2- Precisava que os botões "usuário 1" e "usuário 2" solicitação uma senha quando forem clicados para a execução da macro

DOWNLOAD: https://www.sendspace.com/file/0284td

 
Postado : 10/10/2019 8:13 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Raike,

Boa tarde!

Infelizmente não tem como anexar arquivo aqui e eu não tenho como upar arquivo para site de compartilhamento aqui no meu trabalho. Faça então o seguinte:
1 - Renomeie sua aba Plan1 para INICIO;
2 - Renomeie sua a


ba Plan2 para Usuário 1;
3 - Renomeie sua aba Plan3 para Usuário 2;
4 - Insira na aba INICIO dois botões e dê a eles os nomes Usuário 1 e Usuário 2;
5 - Insira na aba Usuário 1 mais um botão e dê a ele o nome Retornar;
6 - Insira na aba Usuário 2 mais um botão e dê a ele o nome Retornar;
7 - No evento Workbook_Open da planilha insira o código abaixo. Isso vai fazer o Excel deixar as abas Usuário 1 e Usuário 2 invisíveis (sem possibilidade de reexibir pelo usuário leigo;

Private Sub Workbook_Open()
    Sheets("Usuário 1").Visible = 2
    Sheets("Usuário 2").Visible = 2
End Sub

8 - Insira um módulo e cole nele o código abaixo:

Sub Senha()
    Dim Senha1 As String
    Dim Senha2 As String
    Dim Senha As String
    
    Senha1 = "123"
    Senha2 = "456"
    
    For Each bt In Sheets("INICIO").Shapes
        If Left(bt.Name, 6) = "Button" Then
            Senha = InputBox("Digite a sua senha", "SENHA")
            If Senha = Senha1 Then
                Sheets("Usuário 1").Visible = -1
                Sheets("INICIO").Visible = 2
                Exit Sub
            ElseIf Senha = Senha2 Then
                Sheets("Usuário 2").Visible = -1
                Sheets("INICIO").Visible = 2
                Exit Sub
            Else
                MsgBox "A Senha Digitada Está Incorreta!", vbCritical, "ERRO"
                Exit Sub
            End If
        End If
    Next
End Sub

9 - Associe aos botões Usuário 1 e Usuário 2 existentes na aba INICIO o mesmo código;
10 - Cole, nesse mesmo módulo, logo abaixo da procedure Senha, esse outro código:

Sub Retornar()
    If ActiveSheet.Name = "Usuário 1" Then
        Sheets("INICIO").Visible = -1
        Sheets("Usuário 1").Visible = 2
    Else
        Sheets("INICIO").Visible = -1
        Sheets("Usuário 2").Visible = 2
    End If
End Sub

10 - Finalmente, associe esse último código a cada um dos botões Retornar existentes nas abas Usuário 1 e Usuário 2.

 
Postado : 11/10/2019 9:15 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Te enviei por e-mail.

 
Postado : 11/10/2019 12:25 pm
(@raike)
Posts: 0
New Member
Topic starter
 

Obrigado eu vi aqui amigo, mas não saberia reencaixar isso ao que eu pedi na minha planilha :s

 
Postado : 11/10/2019 1:48 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Raike,

Mas não tem nenhum mistério. Se você seguir o passo a passo que lhe passei, vai dá certo com certeza.

 
Postado : 11/10/2019 5:09 pm