- 15 Jan 2020 às 09:24
#51704
ola... bom dia a todos!!!
encontrei na net esse codigo abaixo aí, e gostei dele... é enxuto e tem o que preciso, o necessario pro meu arquivo e inclui e adpatei o procedimento na minha planilha; o codigo faz bem o filtro, mas nao retorna/reexibe corretamente as abas associadas para o usuario, ou seja, nao exibe exatamente as abas definidas no filtro... sempre exibe uma que nao esta associado ao usuario e deixa de exibir uma que esta relacionada!
alguem tem alguma informacao sobre esse codigo que possa ajudar ou ja tenha feito algum ajuste pra melhorar a precisao na exibiçao das abas?
vlw pessoal.. forte abraço
muito obrigado.
encontrei na net esse codigo abaixo aí, e gostei dele... é enxuto e tem o que preciso, o necessario pro meu arquivo e inclui e adpatei o procedimento na minha planilha; o codigo faz bem o filtro, mas nao retorna/reexibe corretamente as abas associadas para o usuario, ou seja, nao exibe exatamente as abas definidas no filtro... sempre exibe uma que nao esta associado ao usuario e deixa de exibir uma que esta relacionada!
alguem tem alguma informacao sobre esse codigo que possa ajudar ou ja tenha feito algum ajuste pra melhorar a precisao na exibiçao das abas?
vlw pessoal.. forte abraço
muito obrigado.
Código: Selecionar todos
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"))
https://www.aprenderexcel.com.br/2014/vba/como-fazer-uma-tela-de-login-para-acesso-ao-documento?utm_source=lec
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
Else
MsgBox "Usuário ou senha incorretos!"
End If
ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
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
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
Código: Selecionar todos
Public Sub lsShow()
frmLogin.Show
End Sub
Public Sub lsDesabilitar()
ActiveWorkbook.Unprotect Password:="123"
Sheets("Contas").Visible = False
Sheets("Compras").Visible = False
Sheets("Gastos").Visible = False
Sheets("Senha").Visible = False
ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
End Sub
Código: Selecionar todos
Fonte: https://www.aprenderexcel.com.br/2014/v ... source=lecPrivate Sub Workbook_Open()
lsDesabilitar
End Sub