ไม่ให้ hide หรือ unhide sheet
Posted: Thu Apr 03, 2025 10:18 am
เรียน อาจารย์
1. อยากให้เวลา login เข้ามาแล้ว ให้เหลือแค่ Sheet "Home"
2. log Sheet "Login" และ "User" ไม่ให้ hide หรือ unhide sheet
ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
1. อยากให้เวลา login เข้ามาแล้ว ให้เหลือแค่ Sheet "Home"
2. log Sheet "Login" และ "User" ไม่ให้ hide หรือ unhide sheet
ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
Code: Select all
Sub Login()
Dim ws As Worksheet
Dim userSheet As Worksheet
Dim username As String
Dim password As String
Dim validLogin As Boolean
Dim i As Integer
ThisWorkbook.Sheets("Home").Unprotect password:="yourpassword"
' กำหนดชื่อตัวแปร
Set userSheet = ThisWorkbook.Sheets("user")
username = Sheets("Login").Range("B1").Value
password = Sheets("Login").Range("B2").Value
ThisWorkbook.Sheets("Home").Visible = xlSheetHidden
ThisWorkbook.Sheets("user").Visible = xlSheetHidden
validLogin = False
' ตรวจสอบว่าผู้ใช้และรหัสผ่านถูกต้องหรือไม่
For i = 2 To 5 ' สมมุติว่าเก็บข้อมูลในแถว 2 ถึง 5 ของ Sheet "user"
If userSheet.Cells(i, 1).Value = username And userSheet.Cells(i, 2).Value = password Then
validLogin = True
Exit For
End If
Next i
If validLogin Then
' ซ่อน Sheet อื่น ๆ
Sheets("Home").Range("H4").Value = username
'ThisWorkbook.Sheets("Login").Visible = xlSheetVisible
ThisWorkbook.Sheets("Home").Visible = xlSheetVisible
MsgBox "Login successful! Welcome, " & username, vbInformation
Sheets("Home").Activate
Else
' หากการล็อกอินผิดพลาด ให้แสดงข้อความผิดพลาด
'MsgBox "Invalid Username or Password!", vbCritical, "Login Failed"
MsgBox "Invalid username or password. Please try again.", vbCritical
ThisWorkbook.Sheets("Login").Range("B2").ClearContents
ThisWorkbook.Sheets("Login").Range("B1").ClearContents
ThisWorkbook.Sheets("Login").Range("B1").Select
End If
End Sub