none
Validar digitação de senha na planilhas RRS feed

  • Pergunta

  • Prezados,

    A Macro abaixo não funciona. Ao clicar na repetição da senha surgiu a mensagem: "Subscrito fora do Intervalo". E não completa o travamento das planilhas. O que pode ser? Como fazê-la funcionar?

    Muito Obrigado.

    Veja abaixo os códigos que usei:

    Sub lsProtegerTodasAsPlanilhas()
        'Declara as variáveis necessárias
        Dim lPass As String, lpass1 As String, lpass2 As String
        Dim lQtdePlan As Long
        Dim lPlanAtual As Long
     
        Do
            'Solicita a senha
            'O método InputBox é utilizado para solicitar um valor através de um formulário
            lpass1 = InputBox("Proteger todas as planilhas:", "Senha")
        
            lpass2 = InputBox("Proteger todas as planilhas:", "Confirma sua Senha")
        

            'Se deixar sem senha for permitido, sugiro emitir um aviso antes de prosseguir e alterar o teste a seguir.
            If lpass1 = lpass2 And lpass1 <> vbNullString Then lPass = lpass1: Exit Do
        
            'Aqui você pode incluir um escape se for possível desistir de inserir senha (basta incluir uma variável na resposta do MsgBox):
            MsgBox "As senhas digitadas não conferem, tente de novo!", vbCritical, "Erro nas senhas!"
        Loop


     
        'Loop pelas planilhas
        'A função While realiza um loop de código enquanto não passar por todas as planilhas contadas
        While lPlanAtual <= lQtdePlan
            'O método Worksheets(lPlanAtual).Activate ativa a planilha conforme o índice atual 1, 2, 3...
            Worksheets(lPlanAtual).Activate
     
            'O método .Protect proteje a planilha passando os parâmetros para proteger
            'objetos de desenho, conteúdo, cenários e passando o password digitado
            ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=lPass
     
            'Muda o índice para passar para a próxima planilha
            lPlanAtual = lPlanAtual + 1
        Wend
     
        'O método MsgBox exibe um formulário de aviso ao usuário.
        MsgBox "Planilhas protegidas!"
     
    End Sub

    Marco Antonio.

    sexta-feira, 18 de janeiro de 2019 17:24

Respostas

  • Tópico repetido:

    https://social.msdn.microsoft.com/Forums/pt-BR/24c62600-1ae8-4356-95ff-57a7855b0d46/outro-msgbox-para-validar-a-primeira-digitao-de-senha?forum=vbapt


    Filipe Magno

    • Marcado como Resposta Marco1226 segunda-feira, 21 de janeiro de 2019 16:21
    segunda-feira, 21 de janeiro de 2019 00:23