Anh chị giúp em chỉnh code cho nó tự động chạy khi mở file excel với ạ. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

taihuong

Thành viên mới
Tham gia
12/9/17
Bài viết
12
Được thích
1
Giới tính
Nữ
Anh chị giúp em với.
Trong file của em có 2 code, 1 code để em click vào icon sẽ tự động insert dòng và copy công thức của dòng trên xuống, nhưng file em chia sẻ cho người khác nhập nên khóa công thức bằng protect của excel, nên em cho thêm 1 code để vba vẫn chạy được khi sheet bị bảo vệ, 2 code này em lấy trên web của mình, nhưng khi tắt file đi và mở lại thì em phải unprotect, run lại code rồi protect lại mới được cho người khác dùng được, việc này rất bất tiện, mọi người có thể chỉnh giúp em code 2 để nó tự chạy khi mở file mà em không cần phải làm mấy thao tác trên được không ạ, với em muốn chỉnh để cho code này chạy trên toàn bộ workbook mà không phải cài vào từng sheet thì có được không? :(:(:(:(:(:(:(

Private Sub Workbook_Open()
With Sheet2
.EnableOutlining = True
.Protect Password:="123", Contents:=True, UserInterfaceOnly:=True
End With
End Sub


Em cảm ơn mọi người nhiều lắm.
 

File đính kèm

Anh chị giúp em với.
Trong file của em có 2 code, 1 code để em click vào icon sẽ tự động insert dòng và copy công thức của dòng trên xuống, nhưng file em chia sẻ cho người khác nhập nên khóa công thức bằng protect của excel, nên em cho thêm 1 code để vba vẫn chạy được khi sheet bị bảo vệ, 2 code này em lấy trên web của mình, nhưng khi tắt file đi và mở lại thì em phải unprotect, run lại code rồi protect lại mới được cho người khác dùng được, việc này rất bất tiện, mọi người có thể chỉnh giúp em code 2 để nó tự chạy khi mở file mà em không cần phải làm mấy thao tác trên được không ạ, với em muốn chỉnh để cho code này chạy trên toàn bộ workbook mà không phải cài vào từng sheet thì có được không? :(:(:(:(:(:(:(

Private Sub Workbook_Open()
With Sheet2
.EnableOutlining = True
.Protect Password:="123", Contents:=True, UserInterfaceOnly:=True
End With
End Sub


Em cảm ơn mọi người nhiều lắm.
Bạn phải bỏ code này trong ThisWorkbook (File bạn trong sheet2 và Module8).
 
Upvote 0
Vậy nội dung trong code chuyển thành

Private Sub Workbook_Open()
With Thisworkbook
.EnableOutlining = True
.Protect Password:="123", Contents:=True, UserInterfaceOnly:=True
End With
End Sub

Rồi insert module trong thisworkbook hả bạn? Tại mình làm thử mà nó báo lỗi sang code 1 của mình? Mình không rành viết code VBA lắm....
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy nội dung trong code chuyển thành

Private Sub Workbook_Open()
With Thisworkbook
.EnableOutlining = True
.Protect Password:="123", Contents:=True, UserInterfaceOnly:=True
End With
End Sub

Rồi insert module trong thisworkbook hả bạn? Tại mình làm thử mà nó báo lỗi sang code 1 của mình? Mình không rành viết code VBA lắm....
Bạn nhìn sang trái sẽ thấy trong cửa sổ "Project - VBAProject" có Sheet2 (Dat Hang) mà trong đó bạn có code đã nêu. Bạn cũng nhìn thấy cái gọi là ThisWorkbook. Bạn làm các bước sau: đúp chuột vào ThisWorkbook -> ở nửa bên phải dán y nguyên code bạn có ban đầu -> đúp chuột vào Sheet2 -> xóa toàn bộ code có ban đầu -> đúp chuột vào Module8 -> xóa toàn bộ code có ban đầu.

Các bước trên người ta nói tắt là phải bỏ code này trong ThisWorkbook
 
Upvote 0
Mình làm theo bạn và làm được sheet đặt hàng rồi, nhưng khi mình muốn tự động insert tại 1 sheet mới mà vẫn bảo vệ sheet đó thì lại không được, code đó chỉ hiểu sheet 2 thôi, giờ mình làm gì để mình làm được ở các sheet mà mình muốn ví dụ sheet 1 và 2 còn sheet 3 thì không như thế nào vậy bạn ?

Mình cảm ơn trước nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Anh chị giúp em với.
Trong file của em có 2 code, 1 code để em click vào icon sẽ tự động insert dòng và copy công thức của dòng trên xuống, nhưng file em chia sẻ cho người khác nhập nên khóa công thức bằng protect của excel, nên em cho thêm 1 code để vba vẫn chạy được khi sheet bị bảo vệ, 2 code này em lấy trên web của mình, nhưng khi tắt file đi và mở lại thì em phải unprotect, run lại code rồi protect lại mới được cho người khác dùng được, việc này rất bất tiện, mọi người có thể chỉnh giúp em code 2 để nó tự chạy khi mở file mà em không cần phải làm mấy thao tác trên được không ạ, với em muốn chỉnh để cho code này chạy trên toàn bộ workbook mà không phải cài vào từng sheet thì có được không? :(:(:(:(:(:(:(

Private Sub Workbook_Open()
With Sheet2
.EnableOutlining = True
.Protect Password:="123", Contents:=True, UserInterfaceOnly:=True
End With
End Sub


Em cảm ơn mọi người nhiều lắm.
Nên đặt mật khẩu file của excell sẽ lợi hại hơn nhiều!
 
Upvote 0
Nhưng mình muốn đặt mật khẩu từng vùng thôi, còn file người khác vẫn mở ra nhập liệu được...><<...,><<...,
 
Upvote 0
Thử 1 cái làm mẫu, mỗi nút là 1 nhóm sheet liên quan tới từng bộ phận (như nội dung Form đăng nhập).
Dang_Nhap.PNG
 
Lần chỉnh sửa cuối:
Upvote 0
Không đặt mật khẩu File, nhưng Phải mật khẩu Protect Sheet. Muốn khóa vùng nào thì khóa, còn vùng nào cho họ nhập liệu thì mở ra.
Bạn search từ khóa "Protect Sheet" sẽ tìm được đáp án...

Uhm, code của mình protect vùng á, nhưng mình copy nó vào code của workbook mà nội dung code có dòng:
With Sheet2
nên nó chỉ chạy trong sheet 2, nhưng mình muốn nó thêm sheet 1 nữa, mà không biết viết lại như thế nào ak?
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom