Đặt Password cho từng Sheet

Liên hệ QC

thiembaan

Thành viên mới
Tham gia
11/8/10
Bài viết
6
Được thích
0
Nghề nghiệp
Quản lý
Kính gửi các anh chị!
Em có bài toán như sau, muốn nhờ các anh chị giúp đỡ.
Đề bài:
- Có file Excel được share trên ổ chung, mỗi nhân viên chỉ được nhập dữ liệu vào sheet của mình.
- Muốn đặt pass cho từng sheet để của ai chỉ vào được sheet của người ấy. (Tránh mọi người xem nội dung trong sheet của nhau. Chỉ có 1 người quản lý file đó là được quyền xem nội dung của tất cả các sheet).
Yêu cầu thực hiện:
- Bình thường các sheet của mỗi nhân viên sẽ ẩn đi, ai muốn vào sheet của mình thì gõ phím tắt, nhập pass vào thì đăng nhập được file.
- Sau khi kết thúc, sheet đó lại ẩn đi.
---------------------------------------
Ghi chú:
Em đã nhờ một số bạn bè nhưng chưa ai giúp được nên nhờ đến các anh chị giúp đỡ.
Em cảm ơn các anh chị rất nhiều!
 
Quản lý người dùng

Tạm thời tôi xây dựng 1 mô hình giả định như sau:
Trong file có 4 sheet:
Main - là nơi để click chọn nhập password, trong đó đã được bảo vệ PW: 123, có 1 vùng dữ liệu tên là Main, gồm 2 cột 3 dòng chứa pasword và sheet làm việc tương ứng (như vậy các pw phải đôi một khác nhau)
sử dụng 3 pw để đăng nhập vào sheet: a1, a2 a3.
3 sheet tương ứng với 3 pw làm việc của 2 người.

Code VBA chưa khóa, bạn có thể khóa sau.

Bản thân workbook có đặt mật khẩu 123 để bảo vệ cấu trúc, không cho người dùng thay đổi sheet và thêm, xóa.

Thực hiện:
người dùng nhấn nút để nhập mật khẩu, nếu mật khẩu đúng thì sheet tương ứng với mật khẩu sẽ được hiện ra và người dùng có thể làm việc, sau khi kết thúc công việc, người dùng click vào sheet Main để đóng sheet làm việc.

Bạn xem thêm trong file đính kèm, có gì thì trao trổi thêm sau.
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn anh hoangvuluan!
Có cách nào để người quản lý file đó thì mở một lúc được hết các sheet. Còn những người khác chỉ mở được sheet của mình không anh?
Vì file share trên thư mục chung mà.
Lần nữa cảm ơn anh!
 
Tôi thay đổi 1 ít trong code ở sheet Main (xem thay đổi trong cửa sổ VBE), bạn sử dụng passw: admin để mở tất cả các sheet (khác sheet Main)
 
Đổi tên file con đường link tới file tổng họp cũng thay đổi

Tôi thay đổi 1 ít trong code ở sheet Main (xem thay đổi trong cửa sổ VBE), bạn sử dụng passw: admin để mở tất cả các sheet (khác sheet Main)

Cảm ơn anh rất nhiều!
Nhưng em có bài toán khác anh có thể giải giúp em được không?
File tổng hợp của được link dữ liệu từ những file nhỏ của các phòng ban.
Thỉnh thoảng có người lại đổi tên file nhỏ, dẫn đến dữ liệu liên kết bị lỗi.
Vậy có cách nào để người đó đổi tên file mà File tổng hợp vẫn link được dữ liệu không?
Làm phiền anh lần nữa, rất mong anh giúp đỡ!
 
Cảm ơn anh rất nhiều!
Nhưng em có bài toán khác anh có thể giải giúp em được không?
File tổng hợp của được link dữ liệu từ những file nhỏ của các phòng ban.
Thỉnh thoảng có người lại đổi tên file nhỏ, dẫn đến dữ liệu liên kết bị lỗi.
Vậy có cách nào để người đó đổi tên file mà File tổng hợp vẫn link được dữ liệu không?
Làm phiền anh lần nữa, rất mong anh giúp đỡ!

Về nguyên tắc thì được - ví dụ, khi bạn đổi tên file phụ đề đi kèm với 1 film (đã từng dùng phụ đề này trước đó) thì khi mở film lên nó vẫn sẽ chọn được file phụ đề đó. Để làm điều này, thường thì phải can thiệp cấp hệ thống, điều mà với khả năng của tôi hiện nay chưa làm được.

Tuy nhiên, vẫn có thể viết code bẫy lỗi, để khi phát hiện ra lỗi link file thì cho phép chọn lại file sẽ link. Nếu link nằm trong công thức thì thông thường người ta sẽ dùng name để gán, khi thay đổi, chỉ cần thay đổi giá trị của name mà không phải thay đổi lại link của mọi công thức. Nguyên tắc là thế nhưng tôi cũng chưa viết code cho vấn đề này bao giờ. Tôi nghĩ bạn có thể gửi file mẫu lên để các ACE trên GPE có thể xem xét hỗ trợ giúp bạn.
 
Về nguyên tắc thì được - ví dụ, khi bạn đổi tên file phụ đề đi kèm với 1 film (đã từng dùng phụ đề này trước đó) thì khi mở film lên nó vẫn sẽ chọn được file phụ đề đó. Để làm điều này, thường thì phải can thiệp cấp hệ thống, điều mà với khả năng của tôi hiện nay chưa làm được.

Tuy nhiên, vẫn có thể viết code bẫy lỗi, để khi phát hiện ra lỗi link file thì cho phép chọn lại file sẽ link. Nếu link nằm trong công thức thì thông thường người ta sẽ dùng name để gán, khi thay đổi, chỉ cần thay đổi giá trị của name mà không phải thay đổi lại link của mọi công thức. Nguyên tắc là thế nhưng tôi cũng chưa viết code cho vấn đề này bao giờ. Tôi nghĩ bạn có thể gửi file mẫu lên để các ACE trên GPE có thể xem xét hỗ trợ giúp bạn.

Chào anh hoangvuluan!
Vì em đang hỗ trợ các phòng ban khác làm hệ thống quản lý sản xuất và bán hàng nên mới đề phòng các tình huống như vậy.
Cảm ơn anh rất nhiều!
 
Tạm thời tôi xây dựng 1 mô hình giả định như sau:
Trong file có 4 sheet:
Main - là nơi để click chọn nhập password, trong đó đã được bảo vệ PW: 123, có 1 vùng dữ liệu tên là Main, gồm 2 cột 3 dòng chứa pasword và sheet làm việc tương ứng (như vậy các pw phải đôi một khác nhau)
sử dụng 3 pw để đăng nhập vào sheet: a1, a2 a3.
3 sheet tương ứng với 3 pw làm việc của 2 người.

Code VBA chưa khóa, bạn có thể khóa sau.

Bản thân workbook có đặt mật khẩu 123 để bảo vệ cấu trúc, không cho người dùng thay đổi sheet và thêm, xóa.

Thực hiện:
người dùng nhấn nút để nhập mật khẩu, nếu mật khẩu đúng thì sheet tương ứng với mật khẩu sẽ được hiện ra và người dùng có thể làm việc, sau khi kết thúc công việc, người dùng click vào sheet Main để đóng sheet làm việc.

Bạn xem thêm trong file đính kèm, có gì thì trao trổi thêm sau.

Làm sau để đổi các pass như a1,a2,a3 và đổi tên các sheet không bị lỗi vậy bạn?
 
Có bạn nào giúp mình vấn đề này không? Cám ơn nhiều nhé!
 
Về nguyên tắc thì được - ví dụ, khi bạn đổi tên file phụ đề đi kèm với 1 film (đã từng dùng phụ đề này trước đó) thì khi mở film lên nó vẫn sẽ chọn được file phụ đề đó. Để làm điều này, thường thì phải can thiệp cấp hệ thống, điều mà với khả năng của tôi hiện nay chưa làm được.

Tuy nhiên, vẫn có thể viết code bẫy lỗi, để khi phát hiện ra lỗi link file thì cho phép chọn lại file sẽ link. Nếu link nằm trong công thức thì thông thường người ta sẽ dùng name để gán, khi thay đổi, chỉ cần thay đổi giá trị của name mà không phải thay đổi lại link của mọi công thức. Nguyên tắc là thế nhưng tôi cũng chưa viết code cho vấn đề này bao giờ. Tôi nghĩ bạn có thể gửi file mẫu lên để các ACE trên GPE có thể xem xét hỗ trợ giúp bạn.

mình muốn tăng them sheet và đổi pass a1,a2 thì làm thế nào bạn
 
Hi bạn Vũ, mình thấy file quan lý của bạn viết rất hay, bạn có thể chỉ mình cách viết đặt pass cho từng sheet được không,
Mình đang rất cần 1 file khoảng 10 sheet, mong bạn giúp mình nhé.}}}}}
 
Quản lý người dùng

Tạm thời tôi xây dựng 1 mô hình giả định như sau:
Trong file có 4 sheet:
Main - là nơi để click chọn nhập password, trong đó đã được bảo vệ PW: 123, có 1 vùng dữ liệu tên là Main, gồm 2 cột 3 dòng chứa pasword và sheet làm việc tương ứng (như vậy các pw phải đôi một khác nhau)
sử dụng 3 pw để đăng nhập vào sheet: a1, a2 a3.
3 sheet tương ứng với 3 pw làm việc của 2 người.

Code VBA chưa khóa, bạn có thể khóa sau.

Bản thân workbook có đặt mật khẩu 123 để bảo vệ cấu trúc, không cho người dùng thay đổi sheet và thêm, xóa.

Thực hiện:
người dùng nhấn nút để nhập mật khẩu, nếu mật khẩu đúng thì sheet tương ứng với mật khẩu sẽ được hiện ra và người dùng có thể làm việc, sau khi kết thúc công việc, người dùng click vào sheet Main để đóng sheet làm việc.

Bạn xem thêm trong file đính kèm, có gì thì trao trổi thêm sau.
Làm thế nào để thêm sheet và thay đổi mật khẩu cho các sheet ạ?
 
Web KT

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

Back
Top Bottom