Veja tenho esses códigos que ligam a "tela cheia e desliga", o problema é o seguinte, quando eu abro outra planilha ele matem a tela cheia, queria ativar somente no mesmo arquivos. E também queria fazer uma forma que ele irá "ligar tela cheia" de acordo com um critérios de usuários exemplos:
Por favor alguém me ajude.
Usuário Senha Tela
admin admin lsDesligarTelaCheia
guest 123 lsLigarTelaCheia
Códigos ligar e desligar tela:
Sub lsLigarTelaCheia()
'Oculta todas as guias de menu
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
'Ocultar barra de fórmulas
Application.DisplayFormulaBar = False
'Ocultar barra de status, disposta ao final da planilha
Application.DisplayStatusBar = False
'Alterar o nome do Excel
Application.Caption = "Versão 1.0"
With ActiveWindow
'Ocultar barra horizontal
.DisplayHorizontalScrollBar = False
'Ocultar barra vertical
.DisplayVerticalScrollBar = False
'Ocultar guias das planilhas
.DisplayWorkbookTabs = False
'Oculta os títulos de linha e coluna
.DisplayHeadings = False
'Oculta valores zero na planilha
.DisplayZeros = False
'Oculta as linhas de grade da planilha
.DisplayGridlines = False
End With
End Sub
Sub lsDesligarTelaCheia()
'Reexibe os menus
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
'Reexibir a barra de fórmulas
Application.DisplayFormulaBar = True
'Reexibir a barra de status, disposta ao final da planilha
Application.DisplayStatusBar = True
'Reexibir o cabeçalho da Pasta de trabalho
ActiveWindow.DisplayHeadings = True
'Retornar o nome do Excel
Application.Caption = ""
With ActiveWindow
'Reexibir barra horizontal
.DisplayHorizontalScrollBar = True
'Reexibir barra vertical
.DisplayVerticalScrollBar = True
'Reexibir guias das planilhas
.DisplayWorkbookTabs = True
'Reexibir os títulos de linha e coluna
.DisplayHeadings = True
'Reexibir valores zero na planilha
.DisplayZeros = True
'Reexibir as linhas de grade da planilha
.DisplayGridlines = True
End With
End Sub
Código user form do login
Private Sub CommandButton1_Click()
Dim rgNomePlans As Range, cél As Range
Dim usuario As String, Senha As String
'Verifica se os campos estão preenchidos
If txtUsuario = "" Then
MsgBox "Preencha o campo usuário!", vbCritical, "Atenção"
txtUsuario.SetFocus: Exit Sub
ElseIf txtSenha = "" Then
MsgBox "Preencha o campo senha!", vbCritical, "Atenção"
txtSenha.SetFocus: Exit Sub
End If
With Sheets("Senha")
.AutoFilterMode = False
.Range("$A$1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=" & txtUsuario.Text
.Range("$A$1").CurrentRegion.AutoFilter Field:=2, Criteria1:="=" & txtSenha.Text
Set rgNomePlans = .AutoFilter.Range.Columns(3)
End With
If rgNomePlans.SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
Set rgNomePlans = rgNomePlans.Offset(1, 0).Resize(rgNomePlans.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible)
ActiveWorkbook.Unprotect Password:="123"
Unload frmLogin
For Each cél In rgNomePlans
Sheets(cél.Value).Visible = True
Next cél
ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
Else
MsgBox "Usuário e/ou Nome Incorreto!" 'O auto-filtro resultou vazio
End If
ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
End Sub