Я хотел бы получить данные пользователя, который в данный момент входит в систему, из таблицы данных на лист назначения.
Вот код, над которым я работал для входа:
Option Explicit
Function GetUserName() As String
GetUserName = ThisWorkbook.Sheets("Login").Range("userName").Value
End Function
Function GetPassword() As String
GetPassword = ThisWorkbook.Sheets("Login").Range("passWord").Value
End Function
Function IsValidUser(u As String, p As String) As Boolean
Dim vu As Variant
Set vu = ThisWorkbook.Sheets("Admin").Range("listOfUsers").Find(u)
If Not vu Is Nothing And ThisWorkbook.Sheets("Admin").Cells(vu.Row,
vu.Column + 1).Value = p Then IsValidUser = True Else IsValidUser = False
Set vu = Nothing
End Function
Function IsLockedUser(u As String) As Boolean
Dim vu As Variant
Set vu = ThisWorkbook.Sheets("Admin").Range("listOfUsers").Find(u)
If Not vu Is Nothing And ThisWorkbook.Sheets("Admin").Cells(vu.Row,
vu.Column + 2).Value = 0 Then IsLockedUser = True Else IsLockedUser = False
Set vu = Nothing
End Function
Function GetNoOfAttempt() As Integer
GetNoOfAttempt = ThisWorkbook.Sheets("Login").Range("noOfAttempt").Value
End Function
Sub SetNoOfAttempt(a As Integer)
ThisWorkbook.Sheets("Login").Range("noOfAttempt").Value = a
End Sub
Sub Login()
On Error GoTo err
Dim totAttempt As Integer
totAttempt = GetNoOfAttempt
If IsValidUser(GetUserName, GetPassword) Then
If IsLockedUser(GetUserName) = False Then
ThisWorkbook.Sheets("Input").Activate
Else
LockUser GetUserName
MsgBox GetMessage("userLocked"), vbExclamation, "Locked"
End If
Else
SetNoOfAttempt totAttempt - 1
If GetNoOfAttempt > 0 Then
MsgBox GetMessage("msgLoginFailed"), vbExclamation, "Failed"
Else
MsgBox GetMessage("maxAttempt"), vbExclamation, "Failed"
End If
End If
Exit Sub
err:
MsgBox err.Description, vbExclamation, "Error"
End Sub
Sub LockUser(u As String)
Dim vu As Variant
Set vu = ThisWorkbook.Sheets("Admin").Range("listOfUsers").Find(u)
If Not vu Is Nothing Then ThisWorkbook.Sheets("Admin").Cells(vu.Row, vu.Column + 2).Value = 0
Set vu = Nothing
End Sub
Вот листы, которые я использую:
Лист данных
Таблица назначения
Цель этого обновления.Поэтому, если пользователь хочет что-то изменить в своих данных, он может легко обновить его в листе назначения.тогда кнопка сохранения должна автоматически обновить свои данные в техпаспорте.