3
respostas

pedir senha ao abrir a planilha

Ao Abrir a planilha não executa a macro como no vídeo, tenho que abrir a planilha e digitar F5. Como faço ao abrir a planilha a macro automaticamente execute.

Sub openArquivo()
    Dim senha As String

    Sheets("entrada").Select
    senha = InputBox("Digite a Senha")

    If senha = "abc" Then
        MsgBox "Bem vindo ao Sistema"
        'Abri na planilha desejada
        Sheets("Despesas").Select
    Else
        MsgBox ("Senha Invalida")
        'Fecha a planilha do excel
        Application.Quit
    End If

End Sub
3 respostas

Oi Mario, tudo bom?

Para que a macro seja executada ao abrir o arquivo, o nome da nossa Sub deve ser auto_open. Algo como:

Sub auto_open()
    'Criar variavel info do tipo String
    Dim info As String
    Sheets("entrada").Select
    'variavel recebe conteudo digitado
    info = InputBox("Informe o nome do usuário")
    'Se conteudo da variavel for "abc" então...
    If UCase(info) = "ABC" Then
        MsgBox "Bem vindo ao sistema!"
        Sheets("despesas").Select
    Else
        MsgBox "Acesso Negado", vbCritical
        Application.Quit
    End If
End Sub

Qualquer problema é só falar.

Abraço =)

Vc poderia me dizer pq a macro não executava automaticamente ao abrir a planilha, e se fosse aplicado o nome open em qualquer macro ele executaria ao abrir a planilha?

A ideia é que a sub auto_open é especial no VBA. Em qualquer planilha, se você criar uma sub com o nome auto_open, ela será sempre executada ao abrir o arquivo =)

No nosso caso, como o nome era openArquivo não auto_open, ele não executava.