-
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #2Dung--[엑셀] 2023. 4. 4. 18:26
2부에 이어서 사용자 정의 폼으로 로그인 기능을 구현하게 되는데 소스부분에 대한 이야기를 계속하겠습니다. 이전에 만들어 두었던 시트에 로그인 정보가 있기에 그 정보를 가져와서 폼에 입력한 값과 비교하여 로그인이 가능한지 아닌지 판단하는것입니다.
1. 로그인을 확인하는 소스는 하단과 같습니다. 먼저 "사용자정보" 시트에 있는 값들을 sheets("사용자정보"). Range("A3:C6") 이용하여 가지고 옵니다. 그리고 Vlookup함수를 활용하여 id에 해당되는 행을 찾고 찾은 아이디의 행에서 2번째 열, 3번째 열의 값을 가지고 옵니다. 2번째 열의 값은 패스워드가 되며 3번째 열은 이름에 해당하는 값이 되는것입니다. 폼에서 값을 가지고 올때는 Me 개체를 활용하시면 됩니다. Me 는 현재 떠있는 폼을 나타냅니다. 폼에 컨트롤을 배치하며 각각의 이름을 정하였는데 그 이름 속성을 적게되면 폼에 입력한 값이 리턴됩니다.
Private Sub btnConfirm_Click()
Dim loginData As Range
Dim pwd As String
Dim name As String
Set loginData = Sheets("사용자정보").Range("A3:C6")
On Error Resume Next
pwd = Application.VLookup(Me.txtId, loginData, 2, 0)
name = Application.VLookup(Me.txtId, loginData, 3, 0)
'' VLookup 에서 찾지 못했을때 이부분을 타게됨
If Err.Number <> 0 Then
MsgBox "해당 ID 가 존재하지 않습니다.\n 다시 확인해주세요", vbCritical, "ID 오류"
Exit Sub
End If
'' 패스워드 확인
If pwd = Trim(Me.txtPwd) Then
MsgBox "로그인 성공하였습니다.", vbInformation, "로그인확인"
Else
MsgBox "암호가 일치하지 않습니다.", vbCritical, "패스워드 오류"
End If
End Sub2. On Error Resume Next 가 있는 것은 Vlookup으로 아이디를 찾지 못하게되면 에러가 나는데 에러가 날때 아이디를 못찾았다고 메시지를 뿌려주기 위해서 입니다. 뿌리는 위치는 If Err.Number < > 0 Then 영역입니다. 해당 ID가 없을시 아래와 같이 메시지를 뿌립니다.
엑셀 예시1 3. btnConfirm_Click() 함수를 실행하였을 때 패스워드와 아이디를 정확하게 입력하게 되면 하단과 같이 성공메세지가 뜹니다.
엑셀 예시2 4. 다음은 "종료" 버튼을 클릭하였을때 창을 닫는 기능을 넣어보겠습니다. 창을 닫기 위해서는 Unload 문을 활용하는데 폼을 닫기 위하여 Unload Me로 쓰시면 됩니다. Me는 현재 떠 있는 폼을 나타냅니다. 창을 닫을 때 두가지의 명령어가 있는데 Unload와 End 입니다. 차이는 Unload는 현재 나와 있는 폼만 닫지만 End는 모든 열려있는 폼을 닫게 됩니다.
엑셀 예시3 엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #1 :: 만물주머니 (tistory.com)
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #1
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #1 사용자의 정의 폼을 활용하면 일반 프로그램과 같이 UI를 가진 엑셀을 제작할 수 있습니다. 이번에 보실 예제가 로그인 폼인데 아이디/패
dsmotion.tistory.com
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #3 :: 만물주머니 (tistory.com)
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #3
엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #3 이번에 예제는 엑셀이 시작될시 로그인 창을 뜨게 해서 정확한 값들을 입력하지 않으면 엑셀을 실행하지 못하게 할것입니다. 그래야지
dsmotion.tistory.com
'Dung--[엑셀]' 카테고리의 다른 글
엑셀 배열수식을 활용해 두개의 열을 만족하는 값 구하기 (0) 2023.04.06 엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #3 (0) 2023.04.04 엑셀VBA 사용자 정의 폼을 사용해 로그인 기능 만들기 #1 (0) 2023.04.04 엑셀 VBA PrintPreview, PrintOut 함수 인쇄미리보기 인쇄하기 (0) 2023.04.04 엑셀 VBA Union과 Intersect 함수를 활용한 영역의 합집합,교집합 (0) 2023.04.04