Como crear una macro con una condición "If" "And"
Hola amigos tengo una interrogante yo tengo un libro de excel en el que accesan varias personas y para llevar un control en una hoja cree una bitácora para saber a que hora y que días accesa cada usuarios y claro la hoja principal exige un nombre de usuario y una calve o contraseña para dejar registro en la bitácora esto lo hice con un formulario sencillo y con una macro en la que escribí una condición if anidada para cuatro usuarios y esta se ejecuta con un botón, los usuarios y claves están en otra hoja de excel, el problema es que por los momentos el ingreso de cada usuario esta restringido nada mas por la clave y me gustaría poder vincular el nombre de usuario y la clave pues la deficiencia que hay es que si alguien usa otro usuario y una clave correcta puede ingresar,
por ejemplo para el usuario PEDRO la calve es 1234 y da el acceso pero no hay una vinculación entre PEDRO y 1234 ya que si yo escribo MARÍA y 1234 igual me da acceso y lo que deseo es que entrelace usuario y clave.
aquí dejo el código que uso espero que me puedan ayudar
Sub Ingresar()
'
' Ingresar Macro
'
' Acceso directo: Ctrl+Mayus+K
'
If Sheets("Acceso").Range("C6") = Sheets("usuarios").Range("C3") Then
Range("C4:C7").Select
Selection.Copy
Sheets("Bitácora").Select
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("A3:D10").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Add Key:=Range("D3:D10" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Bitácora").Sort
.SetRange Range("A3:D10")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A10").Select
Sheets("Acceso").Select
Range("C4:C6").Select
Selection.ClearContents
Range("C4").Select
Sheets("Ingreso Ventas Contado").Visible = True
Sheets("Ingreso Ventas Contado").Select
Range("a1").Select
Else
If Sheets("Acceso").Range("C6") = Sheets("usuarios").Range("C4") Then
Range("C4:C7").Select
Selection.Copy
Sheets("Bitácora").Select
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("A3:D10").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Add Key:=Range("D3:D10" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Bitácora").Sort
.SetRange Range("A3:D10")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A10").Select
Sheets("Acceso").Select
Range("C4:C6").Select
Selection.ClearContents
Range("C4").Select
Sheets("Ingreso Ventas Contado").Visible = True
Sheets("Ingreso Ventas Contado").Select
Range("a1").Select
Else
If Sheets("Acceso").Range("C6") = Sheets("usuarios").Range("C5") Then
Range("C4:C7").Select
Selection.Copy
Sheets("Bitácora").Select
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("A3:D10").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Add Key:=Range("D3:D10" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Bitácora").Sort
.SetRange Range("A3:D10")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A10").Select
Sheets("Acceso").Select
Range("C4:C6").Select
Selection.ClearContents
Range("C4").Select
Sheets("Ingreso Ventas Contado").Visible = True
Sheets("Ingreso Ventas Contado").Select
Range("a1").Select
Else
If Sheets("Acceso").Range("C6") = Sheets("usuarios").Range("C6") Then
Range("C4:C7").Select
Selection.Copy
Sheets("Bitácora").Select
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("A3:D10").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Bitácora").Sort.SortFields.Add Key:=Range("D3:D10" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Bitácora").Sort
.SetRange Range("A3:D10")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A10").Select
Sheets("Acceso").Select
Range("C4:C6").Select
Selection.ClearContents
Range("C4").Select
Sheets("Ingreso Ventas Contado").Visible = True
Sheets("Ingreso Ventas Contado").Select
Range("a1").Select
Else
MsgBox ("Clave de Acceso Incorrecta!!! - Acceso Denegado Por Favor Verifique Nombre de Usuario y Clave")
Sheets("Acceso").Select
Range("C4:C6").Select
Selection.ClearContents
Range("C4").Select
End If
End If
End If
End If
End Sub
anticipadamente muchas gracias por compartir sus conocimientos, un saludo desde Honduras