Protect sheet trong WB đã share

  • Thread starter Thread starter linhdt
  • Ngày gửi Ngày gửi
Liên hệ QC

linhdt

Thành viên chính thức
Tham gia
11/10/06
Bài viết
58
Được thích
108
Mình muốn bảo vệ bảng tính đã bị share nhưng không được, các bạn có cao kiến gì không. Help me +-+-+-+

Mình có một file excel dùng chung với a bạn cùng phòng, do vậy phải để thuộc tính Sharing Workbook, nhưng có điều khi để thuộc tính này thì không thể Protect sheet và WB được, nhờ các bạn chỉ giúp
 
Chỉnh sửa lần cuối bởi điều hành viên:
Trong menu Tools\Protection có chức năng Protect and Share Workbook đấy thôi...
 
Chào bạn,

Trường hợp này bạn phải làm đúng trình tự sau:

1. Thiết lập các chế độ bảo vệ Sheet/ Workbook trước tiên.
2. Sau đó ra lệnh Protect and Share Workbook.

TP.
 
Tks các bạn đã chỉ giúp, tuy nhiên vấn đề ở đây là File đó (gọi tắt là File1) mình đã đặt chế độ bảo vệ Sheet/WB rồi, sau đó chọn Tool/Share Workbook và cho nhiều người có thể Edit Bảng tính cùng 1 lúc.
Vấn đề mình có một File2 chứa chương trình (các module VBA) và nó cập nhật dữ liệu vào File1 . Để tránh người dùng động đến dữ liệu nên File1 sau khi được update sẽ được đặt chế độ protect sheet.
Mâu thuẫn là nếu ở chế độ Share File1 cho nhiều người thì sẽ ko bảo vệ được sheets chứa dữ liệu.
Mong các bạn chỉ giúp
 
Tks các bạn đã chỉ giúp, tuy nhiên vấn đề ở đây là File đó (gọi tắt là File1) mình đã đặt chế độ bảo vệ Sheet/WB rồi, sau đó chọn Tool/Share Workbook và cho nhiều người có thể Edit Bảng tính cùng 1 lúc.
Vấn đề mình có một File2 chứa chương trình (các module VBA) và nó cập nhật dữ liệu vào File1 . Để tránh người dùng động đến dữ liệu nên File1 sau khi được update sẽ được đặt chế độ protect sheet.
Mâu thuẫn là nếu ở chế độ Share File1 cho nhiều người thì sẽ ko bảo vệ được sheets chứa dữ liệu.
Mong các bạn chỉ giúp
 
Chào bạn,

Mình không biết bạn đang sử dụng phiên bản Excel gì, tuy nhiên bạn lưu ý cho là sau khi thiết lập các chế độ bảo vệ Sheet/ Workbook bạn chọn tiếp Tools | Protection | Protect and Share Workbook (không phải Tools | Share Workbook...)

TP.
 
cảm ơn ttphong2007, mình đã thử làm theo hướng dẫn của bạn. Tuy nhiên, khi thiết lập Protect and Share WB (bằng macro), đến khi muốn sửa đổi sheet = cách bỏ protect sheet thì Excel lại ko cho vì đang ở chế độ share. Bạn có biết cách nào để tắt bỏ chế độ Tool/ share WB.
Mình đã thử ghi lại macro khi vào tắt share WB nhưng ko được, thì thường là ghi xong nó báo lưu lại rùi khi mở ra thì ko thấy macro ghi gì cả
Các bạn giúp mình với
 
Chào bạn linhdt,

Trước khi UnProtect Sheet được bảo vệ thì bạn phải Unprotect Shared Workbook trước. Nếu bạn dùng Macro để Protect and Share WB thì chắc là bạn không nạp mật mã khi thực hiện lệnh, do vậy bạn cứ vào Unprotect Shared Workbook và cứ OK không cần nhập mật mã.

Sau khi Unprotect Shared Workbook rồi thì Upprotect Sheet / WB mới hiện lên cho bạn chọn.

TP.
 
To :TTPhong2007
Cảm ơn bạn nhiều
Mình đã thử rùi mà vẫn chưa được, bạn có thể làm một ví dụ nhỏ cho mình được ko?
 
ttphong2007 đã viết:
Chào bạn linhdt,

Trước khi UnProtect Sheet được bảo vệ thì bạn phải Unprotect Shared Workbook trước. Nếu bạn dùng Macro để Protect and Share WB thì chắc là bạn không nạp mật mã khi thực hiện lệnh, do vậy bạn cứ vào Unprotect Shared Workbook và cứ OK không cần nhập mật mã.

Sau khi Unprotect Shared Workbook rồi thì Upprotect Sheet / WB mới hiện lên cho bạn chọn.

TP.
Mình đã làm thử mà không được, mình gửi file đính kèm ở đây, mong các bạn chỉ giúp code sai ở đâu
 

File đính kèm

Protect and Sharing WB

Chào bạn,

Bạn dùng đoạn mã sau và xem file đính kèm:

Sub baove_wsh()
Application.DisplayAlerts = False
Application.ActiveWorkbook.UnprotectSharing SharingPassword:="123456"
Application.ActiveWorkbook.ActiveSheet.Protect "123456"
Application.ActiveWorkbook.ProtectSharing SharingPassword:="123456"
Application.DisplayAlerts = True
End Sub

Sub kobaove_wsh()
Application.DisplayAlerts = False
Application.ActiveWorkbook.UnprotectSharing SharingPassword:="123456"
Application.ActiveWorkbook.ActiveSheet.Unprotect "123456"
Application.DisplayAlerts = True
End Sub

Chúc thành công,
TP.
 

File đính kèm

LearnMore đã viết:
Chào bạn,

Bạn dùng đoạn mã sau và xem file đính kèm:

Sub baove_wsh()
Application.DisplayAlerts = False
Application.ActiveWorkbook.UnprotectSharing SharingPassword:="123456"
Application.ActiveWorkbook.ActiveSheet.Protect "123456"
Application.ActiveWorkbook.ProtectSharing SharingPassword:="123456"
Application.DisplayAlerts = True
End Sub

Sub kobaove_wsh()
Application.DisplayAlerts = False
Application.ActiveWorkbook.UnprotectSharing SharingPassword:="123456"
Application.ActiveWorkbook.ActiveSheet.Unprotect "123456"
Application.DisplayAlerts = True
End Sub

Chúc thành công,
TP.
Tks LearnMore, ok rùi, vậy mà mình loay hoay mãi :=\+ . Cảm ơn các bạn rất nhiều
 
Lại làm phiền các bạn lần nữa. Giải quyết vụ Protect sheet trong WB share thì được rùi, tuy nhiên khi được như vậy thì cái WB đó chẳng hạn mình đặt ở máy người khác trong mạng Lan để dùng chung, khi truy cập và lưu như hướng dẫn ở trên thì nó lại tạo file mới trên máy của mình, như vậy là dữ liệu lại ko nằm cùng một chỗ.
Các bạn chỉ giúp mình với nhé. Tks
 
Chào bạn linhdt,

Bạn làm theo đúng qui trình sau:

1. Thiết lập các vùng cần bảo vệ/ các vùng cho phép chỉnh sửa hay nhập liệu trên các bảng tính (bằng cách đặt hay không đặt thuộc tính Lock cho các ô)
2. Chạy nút lệnh Bảo vệ --> và lưu lại (Excel có hỏi lưu dưới định dạng hỗ trợ XML thì bạn cứ No và ra lệnh Save lại nó sẽ không hỏi nữa --> điều này nhằm đảm bảo tính tương thích giữa các phiên bản củ và mới) --> khi đó tập tin của bạn đã ở chế độ Protect Sheet và Protect and Share Workbook (lúc này cửa sổ VB Project trở thành Project is Unviewable --> các code sẽ không thể truy cập và hiệu chỉnh).
3. Bạn chép file này lên ổ đĩa mạng để nhiều người có thể truy cập cùng lúc và thao tác trên đó.
4. Khi có tranh chấp về mặt dữ liệu xảy ra (ví dụ như có 2 người cùng nhập trên 1 ô địa chỉ nào đó và ra lệnh Save) thì chức năng giải quyết tranh trấp sẽ hiện ra cho phép bạn lựa chọn sẽ giữ lại cái nào.

Khi không muốn Protect and Share Workbook nữa thì mới nhấn nút "Ko bảo vệ"

Chúc bạn thành công,

TP.

PS: Bạn có thể download file đính kèm về để trên ổ đĩa mạng và cho vài 3 người cùng mở lên nhập liệu và ra lệnh Save thì sẽ biết.
 

File đính kèm

ttphong2007 đã viết:
Chào bạn linhdt,

Bạn làm theo đúng qui trình sau:

1. Thiết lập các vùng cần bảo vệ/ các vùng cho phép chỉnh sửa hay nhập liệu trên các bảng tính (bằng cách đặt hay không đặt thuộc tính Lock cho các ô)
2. Chạy nút lệnh Bảo vệ --> và lưu lại (Excel có hỏi lưu dưới định dạng hỗ trợ XML thì bạn cứ No và ra lệnh Save lại nó sẽ không hỏi nữa --> điều này nhằm đảm bảo tính tương thích giữa các phiên bản củ và mới) --> khi đó tập tin của bạn đã ở chế độ Protect Sheet và Protect and Share Workbook (lúc này cửa sổ VB Project trở thành Project is Unviewable --> các code sẽ không thể truy cập và hiệu chỉnh).
3. Bạn chép file này lên ổ đĩa mạng để nhiều người có thể truy cập cùng lúc và thao tác trên đó.
4. Khi có tranh chấp về mặt dữ liệu xảy ra (ví dụ như có 2 người cùng nhập trên 1 ô địa chỉ nào đó và ra lệnh Save) thì chức năng giải quyết tranh trấp sẽ hiện ra cho phép bạn lựa chọn sẽ giữ lại cái nào.

Khi không muốn Protect and Share Workbook nữa thì mới nhấn nút "Ko bảo vệ"

Chúc bạn thành công,

TP.

PS: Bạn có thể download file đính kèm về để trên ổ đĩa mạng và cho vài 3 người cùng mở lên nhập liệu và ra lệnh Save thì sẽ biết.
Tks sự nhiệt tình của các bạn
Nếu làm như TTP thì người dùng có thể vô tư nhập trong phần dữ liệu lưu rồi, ý mình muốn làm thế này:
Mình có một file để chạy riêng, file này ở mỗi máy đều có (gọi là File 1)
Một file khác không có macro (gọi là File 2), dùng để chứa cơ sở dữ liệu.file này đặt trên mạng để mọi người dùng chung. Trên file này có 1 sheet để nhập các thông tin, chạy lệnh từ file 1 để nhập dữ liệu của sheet này vào sheet cơ sở dữ liệu.
Do vậy sheet cơ sở dữ liệu thì cần protect, khi cần mới mở ra để chỉnh sửa

Vấn đề là khi cập nhật dữ liệu File 2 trên mạng chung thì lại có một File 2 mới lưu ở máy đang cập nhật (mà đáng ra là nó phải lưu vào File 2 ở mạng chung)
Nhờ mọi người chỉ giúp
 
Lần chỉnh sửa cuối:
theo tôi thì tốt nhất trong trường hợp này bạn nên dùng form để nhập liệu, nếu shared để nhập liệu dễ dẫn đến xung đột dữ liệu phiền phức lắm. Dùng form vừa tránh xung đột vừa bảo vệ được dữ liệu.
 
Linhdt muốn lưu lại macro ghi lại công việc đối với file share thì bạn phải mở 1 file ko share cùng lúc và tiến hành ghi macro sau đó macro này sẽ được lưu ở file ko share mở cùng, bạn có thể mở lên để tham khảo code.
 
Chào GPE,

Mình có câu hỏi này hơi ngớ ngẩn một chút. Đó là: Tại sao trong Excel khi chúng ta sử dụng Protect and Share Workbook (ThisWorkbook.ProtectSharing) thì nên tạo một bản sao lưu trước khi share. Phải chăng đến một lúc nào đó file được Share sẽ không thể UnprotectSharing hoặc không thể hiệu chỉnh Code trong VBA được?
 
Hic!

GPE sôi nổi quá chừng mà sao không ai trả lời giúp mình câu hỏi ngớ ngẩn ở trên vậy nè?
 
Web KT

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

Back
Top Bottom