Khóa Và Mở Khóa Tất Cả Các Sheet Cùng Lúc Trong VBA
Có thể bạn quan tâm
Khi sử dụng chức năng Protect Sheet trong Excel, chúng ta chỉ có thể khóa từng trang tính một. Như vậy với những bảng tính có nhiều trang tính (workbook có nhiều sheet) thì việc này khá bất tiện. Để khắc phục vấn đề này, chúng ta có thể ứng dụng VBA để có thể thực hiện khóa tất cả các sheet cùng lúc chỉ với 1 thao tác. Cách thực hiện như sau:
Bước 1: Mở cửa sổ VBA (phím tắt Alt + F11) và tạo 1 Module mới
Bước 2: Trong Module này chúng ta tạo 1 sub, lấy tên là Khoa_TatCa_Sheet
Sub Khoa_TatCa_Sheet
…
End Sub
Bước 3: Viết code trong sub này như sau:
Việc khóa tất cả các sheet trong Workbook => Cần tạo 1 vòng lặp để chạy trên tất cả các sheet trong workbook
Cần có 1 bảng thông báo để nhập mật khẩu khóa các sheet
Như vậy chúng ta cần có 2 biến:
- Biến Các Sheet thành phần, gọi là biến Ten_Sheet, biến này được hiểu là các Sheet trong Excel
- Biến Mật khẩu, gọi là MatKhau => Dạng dữ liệu là dạng chuỗi ký tự (cho phép cả số và chữ) => Mật khẩu sẽ được nhập bởi người dùng => Tạo 1 inputbox để người dùng có thể nhập mật khẩu vào đây
Câu lệnh hoàn chỉnh như sau:
Sub Khoa_TatCa_Sheet()
Dim Ten_Sheet as Worksheet
Dim MatKhauKhoa as String
MatKhauKhoa = InputBox(“Nhap mat khau”, vbOKCancel)
For Each Ten_Sheet in ActiveWorkbook.Worksheets
Ten_Sheet.Protect Password = MatKhauKhoa
Next Ten_Sheet
End Sub
Để mở khóa tất cả các sheet cùng lúc, chúng ta làm tương tự như vậy, chỉ thay câu lệnh Ten_Sheet.Protect thành Ten_Sheet.Unprotect:
Sub MoKhoa_TatCa_Sheet()
Dim Ten_Sheet as Worksheet
Dim MatKhauMo as String
MatKhauMo = InputBox(“Nhap mat khau”, vbOKCancel)
For Each Ten_Sheet in ActiveWorkbook.Worksheets
Ten_Sheet.Unrotect Password = MatKhauMo
Next Ten_Sheet
End Sub
Khi hoàn thành 2 Sub này chúng ta có thể vẽ ra các nút lệnh (Insert>Sharp) và gán Macro vào nút lệnh đó (Assign Macro)
Những điểm cần lưu ý:
- Khóa sheet với mật khẩu nào thì mở khóa với đúng mật khẩu đó
- Khi khóa sheet bằng câu lệnh VBA thì có thể bạn sẽ không tự mở khóa sheet bằng phương pháp thông thường được (chọn tab Review>Unprotect sheet>Nhập mật khẩu đã khóa) => Buộc phải kết hợp lệnh Mở khóa bằng VBA (khóa bằng VBA thì mở bằng VBA – lỗi này có thể xuất hiện ở 1 số phiên bản Microsoft Excel nhất định, nên bạn có thể kiểm tra lại xem phiên bản mình đang dùng có mắc lỗi này hay không)
- Vì vấn đề 2 nên chúng ta cũng nên hạn chế việc thiết lập khóa sheet trong VBA. Khi khóa Sheet bằng VBA cần cân nhắc kỹ và kết hợp thao tác mở khóa bằng câu lệnh VBA để tránh xung đột và phải tự thao tác bằng tay việc mở khóa.
- Có thể gắn việc đặt mật khẩu vào 1 vị trí nhất trong sheet thì chúng ta có thể quản lý mật khẩu một cách tốt hơn, tránh bị quên mật khẩu (luôn có khả năng Backup trong trường hợp xấu: quên mật khẩu, nhập sai…)
VBA có rất nhiều ứng dụng mà không thao tác được trên Excel thông thường hoặc phải mất rất nhiều thời gian để thao tác. Tuy nhiên, bạn hoàn toàn có thể làm chủ được VBA để phục vụ cho công việc của mình, giúp làm tăng tốc độ xử lý dữ liệu, từ đó giải quyết được khối lượng dữ liệu lớn chỉ trong thời gian ngắn.
Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại:
Từ khóa » Khóa File Excel Bằng Vba
-
Mở Khóa Sheet Bằng VBA | Giải Pháp Excel
-
Hướng Dẫn Cách Khóa Và Mở Khóa đồng Thời Tất Cả Các Sheet Trong ...
-
Đặt Mật Khẩu Cho File Excel | Tự Học VBA
-
Cách Mở Khóa VBA Trong Excel - Kết Quả Là Gì ?
-
Đặt Pass Cho File Excel, Cách Khóa File Excel Bằng Mật Khẩu
-
Tổng Hợp 4 Cách Khóa File Excel Bằng Mật Khẩu, Không Cho Chỉnh Sửa
-
Phá Pass Excel, Gỡ Bỏ Mật Khẩu Của Sheet Trong Excel
-
Cách đặt Pass Cho File Excel & Khóa Dữ Liệu Bằng Mật Khẩu (PRO ...
-
Hướng Dẫn Cách Khóa, Mở Khóa Worksheets Bằng VBA - YouTube
-
Làm Cách Nào để Khóa Hoặc Bảo Vệ Các ô Sau Khi ... - ExtendOffice
-
Đặt Pass Cho File Excel, Cách Khóa File ... - Vay Tiền Online Bằng CMND
-
EL0005 | Gỡ Bỏ Password Của VBA Bằng HexEditor - Công Ty Đông Á