Trước tiên, bạn làm ra (tạo) một workbook mới trên Excel, đặt lại tên Sheet1 là Du Lieu (rồi gõ vào Sheet1 dữ liệu tùy ý để sau này kiểm tra), Sheet3 là Login. Vì sheet đầu tiên bao giờ cũng có dữ liệu, bạn bất nên cho nó active (mặc định mỗi lần mở workbook), nếu bất như thế sẽ mất đi tính bảo mật. Còn sheet Login nên là một sheet chẳng có dữ liệu gì cả, form kiểm tra mật (an ninh) khẩu sẽ được hiển thị trên sheet này.
Nhấn phím Alt+F11 hay chọn Tools > Macro > Visual Basic Editor để mở cửa sổ VBA của Excel. Cách soạn thảo VBA trong Excel tương tự như trong Access. Trong cửa sổ VBA, chọn Insert > UserForm để làm ra (tạo) một form mới. Bạn sử dụng các công cụ trên Toolbox để thiết kế form như hình 1. Đặt tên form là frmLogin, tên nút lệnh OK là cmdOK, tên nút lệnh Cancel là cmdCancel, rồi gõ đoạn ngựa 1 vào (bấm kép lên form để mở cửa sổ soạn thảo, hay bấm-phải chuột vào tên form trong cửa sổ Project – VBAProject).
Quay về Excel, chọn Tools > Macro > Macros. Trên hộp thoại Macro, gõ tên Autpen vào ô Macro name, bấm Create để mở cửa sổ VBA và gõ đoạn ngựa sau đây:
Sub Autpen()
frmLogin.Show
End Sub
Autpen là một macro tự động chạy mỗi lần workbook được mở. Đoạn ngựa trên hiển thị form frmLogin mỗi lần workbook được mở.
Để các macro có thể tự động chạy, bạn phải hạ mức security xuống Medium hay Low: quay về Excel, chọn Tools > Macro > Security để mở hộp thoại Security, trong thẻ Security Level chọn Medium (người sử dụng sẽ quyết định macro được chạy hay không) hay Low, bấm OK. Bạn đóng workbook rồi mở lại để kiểm tra.
Đoạn ngựa 1
Const sMatKhau = "echip"
Private Sub cmdCancel_Click()
MsgBox "Rat tiec vi ban khong chung minh duoc minh co quyen mo workbook nay!"
ActiveWorkbook.Close
End Sub
Private Sub cmdOK_Click()
With TextBox1
If .Text = sMatKhau Then
ActiveWorkbook.Sheets("Du Lieu").Activate
Unload Me
Exit Sub
End If
MsgBox "Mat khau khong dung!"
.SetFocus
End With
End Sub
Private Sub UserForm_Initialize()
ActiveWorkbook.Sheets("Login").Activate
With TextBox1
.Text = ""
.PasswordChar = "*"
End With
End Sub