Thầy Tuấn Ba và Thầy
G-Learning lại cho em làm phiền với ạh.
Em đã làm được bài 9
(Print Preview) và bài 10 (Set Print Area) theo hướng dẫn, rất cảm ơn các Thầy ạh.
Giờ đến bài 10 và 11,
em lại chưa biết cách làm ạh
11 | Thao | Có |
12 | Thao | Có |
Em nhớ mang máng là
trong 1 bài học nào đó Thầy có nhắc đến chủ đề này rồi nhưng em ko nhớ chính
xác nên không tìm lại được nội dung. Các Thầy chỉ cho em thông tin đó ở bài
nào, chương nào với ạh.
Em cảm ơn,
Chào bạn bạn ghi macro với chắc năng sau nhé
Thầy ơi em có thể
Record Macro Protect và Unprotect Sheet nhưng em chưa biết làm cách nào để đưa
dữ liệu vào trong 1 sheet đang khóa bằng VBA hoặc sửa, xoá, thêm sheet khi workbook
đang bị khoá ạh. Thầy hướng dẫn em thêm
với ạh. Em cảm ơn Thầy.
Chào bạn bạn làm như sau nhé
// phần 1 khoá
Bước 1 Record Macro
Bước 2 thực hiện Protect Sheet có mật khẩu
Bước 3 thực hiện các đoạn code với sheets
Bước 4 dừng ghi macro
Phần 2 mở và ghi dữ liệu
Bước 1 Record Macro
Bước 2 thực hiện Unprotect Sheet có mật khẩu
Bước 3 thực hiện các đoạn code với sheets
bước 4 thực hiện Protect Sheet có mật khẩu
Bước 5 dừng ghi
Mình hướng dẫn cách làm như sau nhé:
1. Đầu tiên bạn thử record macro cho thao tác Protect Sheet (lưu ý là không dùng mật khẩu)
Bấm record macro => vào thẻ Review bấm Protect Sheet => Bấm Stop Recording
=> Code mẫu thu được:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
về bản chất chỉ cần gọi đoạn ActiveSheet.Protect là được. Các phần phía sau tùy theo các lựa chọn có trong cửa sổ Protect Sheet sẽ có code cụ thể nhé.
2. Tiếp theo bạn record macro cho thao tác mở khóa sheet (Unprotect Sheet)
Làm giống bước 1, code mẫu thu được là:
ActiveSheet.Unprotect
3. Về quy trình nhập/sửa/xóa dữ liệu khi Sheet đang được Protect thì:
- Bước 1: phải mở khóa sheet trước
- Bước 2: thực hiện thao tác nhập/sửa/xóa
- Bước 3: khóa sheet lại.
Ví dụ: Bạn muốn nhập nội dung vào ô D8 là "Gitiho" thì:
Sub ViDu
ActiveSheet.Unprotect
Range("D8").Value = "Gitiho"
ActiveSheet.Protect
End Sub
Lưu ý là các thao tác nhập/sửa/xóa phải thực hiện qua VBA bằng Code thì mới được, còn các thao tác tay thì không. Do 1 quy trình sẽ luôn gồm 3 bước bạn nhé. Thao tác tay thủ công chỉ được 1 bước thôi.
Yesssssss. Em làm được rồi ạh. Em
cảm ơn thầy G-learning nhiều ạh