Prezados bom dia,
Tenho esta macro que está funcionando muito bem. Contudo ao digitar as senhas elas ficam visíveis. O que pode ser mudado na macro abaixo para que, na caixa de texto onde se digita a senha, ao invés das letras e números aparecer o "******"?
Muito obrigado.
Marco.
Sub lsProtegerTodasAsPlanilhas()
lQtdePlan = Worksheets.Count
lPlanAtual = 1
Dim lPass As String, lpass1 As String, lpass2 As String
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!"
Sheets("Relatório").Protect AllowSorting:=True, AllowFiltering:=True, Password:="M1226a3646g5780S122636465780RecriaPI"
End Sub