Đăng nhập VBA | Làm thế nào để tạo một biểu mẫu đăng nhập trong Excel VBA?

Biểu mẫu đăng nhập VBA trong Excel

Có thể tạo biểu mẫu người dùng dựa trên đăng nhập trong excel VBA với tất cả danh sách thả xuống id đăng nhập và mật khẩu sẽ được chia sẻ riêng. Tại một số thời điểm, bạn phải có ý tưởng tạo biểu mẫu người dùng đăng nhập dựa trên mật khẩu yêu cầu người dùng chọn id người dùng của họ và nhập mật khẩu để truy cập trang tính cần thiết.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo userform đăng nhập bằng excel VBA.

Làm thế nào để tạo một biểu mẫu người dùng đăng nhập?

Ví dụ: giả sử bạn có số lượng bán hàng theo khu vực trong các trang tính khác nhau. Chúng tôi có 4 tên vùng khác nhau và mỗi trang tính vùng chỉ có dữ liệu liên quan. Bây giờ, ý tưởng là tạo một biểu mẫu đăng nhập trong đó người đứng đầu bộ phận bán hàng của khu vực “Đông” sẽ chỉ thấy dữ liệu khu vực “Đông”, chứ không phải bất kỳ khu vực nào khác nhưng với tư cách là quản trị viên, bạn sẽ thấy tất cả các trang tính của khu vực.

Bạn có thể tải xuống Mẫu Excel Đăng nhập VBA này tại đây - Mẫu Excel Đăng nhập VBA

Đầu tiên, chúng ta cần chèn tên trang tính có tên là “Quản trị viên”. Trong trang quản trị này, chúng ta cần tạo thông tin đăng nhập "Id đăng nhập" và "Mật khẩu".

Tôi đã đặt tên vùng và mật khẩu giống nhau, bạn có thể thay đổi điều này sau này. Đối với tên vùng, tôi đã tạo dải tên là “ZoneList”. “Trình quản lý tên” này sẽ được sử dụng sau này trên biểu mẫu người dùng đăng nhập này.

Khi người dùng mở tệp, họ sẽ thấy một trang tính giả trong nền, vì vậy hãy tạo một trang tính mới và đặt tên là Trang tính “Dummy” ”.

Sử dụng các bảng tính này, chúng tôi sẽ tạo một biểu mẫu người dùng đăng nhập.

Bước 1: Chèn biểu mẫu người dùng

Nhấn phím ALT + F11 để mở cửa sổ VBA Editor.

  • Từ tab “Chèn”, hãy chèn “Biểu mẫu người dùng”.

  • Thao tác này sẽ tạo một biểu mẫu người dùng mới giống như biểu mẫu bên dưới.

  • Nhấn phím F4 để xem cửa sổ Thuộc tính, từ cửa sổ thuộc tính này thay đổi tên của biểu mẫu người dùng thành “LoginUF”

  • Tương tự bằng cách sử dụng cửa sổ thuộc tính này, chúng ta có thể chơi với các thuộc tính của biểu mẫu người dùng. Tôi đã thực hiện một số thay đổi thuộc tính, bạn có thể tham khảo cửa sổ thuộc tính bên dưới để áp dụng các thay đổi cho thuộc tính của biểu mẫu người dùng.

  • Bây giờ biểu mẫu người dùng của tôi trông như thế này.

Bước 2: Thiết kế biểu mẫu người dùng

  • Từ hộp công cụ của biểu mẫu người dùng, hãy chèn hai hộp nhãn và nhập văn bản như hình dưới đây.

  • Từ hộp công cụ, chèn “Combo Box”.

  • Đối với excel combo box này, chúng ta cần lấy tên vùng từ trang tính “Admin Sheet”, vì vậy từ cửa sổ thuộc tính của “Combo Box” trước tiên hãy đặt tên cho hộp tổ hợp này là “Zone_List_ComboBox” trong thuộc tính “Name”.

  • Từ thuộc tính “Nguồn hàng” của hộp tổ hợp, hãy nhập tên được đặt cho danh sách khu vực trong “Trang tính quản trị”.

  • Bây giờ hộp tổ hợp của chúng ta sẽ hiển thị tên vùng trong danh sách thả xuống của nó trong excel.

  • Đối với “Nhập mật khẩu cho bạn”, chúng ta cần chèn một “Hộp văn bản” từ hộp công cụ.

  • Đối với “Hộp văn bản” này, chúng tôi cần thay đổi thuộc tính “Tên” và đổi thành “Mật khẩu_TB”.

Bây giờ trong mã hóa cho biểu mẫu đăng nhập VBA, “Hộp tổ hợp” sẽ được gọi bằng tên “Zone_List_ComboBox” và “Hộp văn bản” sẽ được gọi bằng tên “Password_TB”.

  • Chèn hai “Nút lệnh” và nhập văn bản là “Đăng nhập” và “Đăng xuất”.

Đối với nút lệnh “Đăng nhập”, hãy thay đổi thuộc tính tên thành “Login_CommandButton” và đối với nút lệnh “Đăng xuất”, hãy thay đổi thuộc tính tên thành “LogOut_CommandButton”.

Bước 3: Mã

Chúng ta đã thực hiện xong phần thiết kế biểu mẫu người dùng đăng nhập VBA, đã đến lúc viết mã để tạo biểu mẫu người dùng dựa trên đăng nhập trong VBA excel.

  • Nhấp đúp vào Nút lệnh “Đăng nhập”, thao tác này sẽ mở ra thủ tục phụ trống như hình dưới đây.

Bên trong quy trình này, chúng ta cần viết mã về những gì sẽ xảy ra nếu nút “Đăng nhập” được nhấn.

Tôi đã viết mã, bạn có thể sao chép và dán mã từ bên dưới bên trong quy trình trên.

Mã:

Private Sub Login_CommandButton_Click () If Zone_List_ComboBox.Value = "" Then MsgBox "Zone Cannot Blank !!!", vbInformation, "Zone Name" Thoát Sub End If If Password_TB.Value = "" Then MsgBox "Mật khẩu Không thể trống !! ! ", vbInformation," Password "Thoát Sub End If If Zone_List_ComboBox.Value =" Admin "And Password_TB.Value =" Admin "Sau đó, dỡ bỏ tôi Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Vosystem = xlSheetVible Next Ws Sheets ("Admin"). Chọn Else Dim ZoneName As String Dim Password As Variant ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets ("Admin"). Phạm vi ("A: B"), 2, 0 ) Nếu Mật khẩu Password_TB.Value Thì MsgBox "Mật khẩu không khớp", vbInformation,"Wrong Password" Thoát Sub End If If Password = Password_TB.Value Sau đó, Unload Me Sheets (ZoneName) .Vosystem = True Sheets (ZoneName). Chọn ActiveSheet.Range ("A1"). Chọn End If End Nếu Kết thúc Sub

Tương tự, nhấp đúp vào nút lệnh “Đăng xuất” và nhập mã bên dưới.

Mã:

 Private Sub LogOut_CommandButton_Click () ThisWorkbook.Save ThisWorkbook. Close End Sub 

Bây giờ nhấp đúp vào “Biểu mẫu người dùng” (không phải trên bất kỳ nút nào được chèn) và thêm mã bên dưới.

Mã:

Private Sub UserForm_QueryClose (Cancel As Integer, CloseMode As Integer) 'Ngăn chặn việc sử dụng nút Close Nếu CloseMode = vbFormControlMenu Thì MsgBox "Nhấp vào nút Đóng không hoạt động." Cancel = True End If End Sub

  • Bây giờ nhấp đúp vào biểu tượng “ThisWorkbook”. Điều này sẽ mở ra bên dưới trường mã trống.

Bây giờ hãy thêm đoạn mã dưới đây vào trường trống này.

Mã:

 Private Sub Workbook_Open () Dim Ws As Worksheet Application.DisplayAlerts = False Application.ScreenUpdating = False For Each Ws In ActiveWorkbook.Worksheets If Ws.Name "Dummy" Then Ws.Vible = xlSheetVeryHidden End If Next Ws LogInUF.Show End Sub 

  • Chúng tôi đã hoàn thành phần mã hóa của biểu mẫu. Lưu sổ làm việc dưới dạng sổ làm việc “Đã bật Macro” và mở lại sổ làm việc. Khi mở lại sổ làm việc, chúng ta sẽ thấy cửa sổ bên dưới.

  • Từ biểu mẫu người dùng này, chúng ta cần chọn tên vùng tương ứng và nhập mật khẩu liên quan. Ví dụ: tôi sẽ chọn vùng “Đông” từ menu thả xuống và nhập mật khẩu.

  • Nếu tôi nhấp vào “Đăng nhập”, chúng tôi chỉ có thể xem bảng tính khu vực “Đông”.

Tương tự, nếu chúng ta đăng nhập bằng "Admin", chúng ta có thể truy cập vào tất cả các bảng tính.

Như vậy, chúng ta có thể tạo quyền truy cập trang tính được bảo vệ bằng mật khẩu dựa trên đăng nhập.

Những điều cần ghi nhớ

  • Bạn cần sử dụng các tên giống như chúng tôi đã đặt cho biểu mẫu người dùng, hộp văn bản, nút lệnh và hộp tổ hợp trong mã hóa.
  • Bạn có thể thay đổi tên vùng và mật khẩu theo ý muốn của mình.

$config[zx-auto] not found$config[zx-overlay] not found