Giúp đỡ: An toàn tài liệu trong sheet

Liên hệ QC

nxthanhgl

Thành viên mới
Tham gia
15/9/08
Bài viết
3
Được thích
0
cảm ơn các bác trước, Ở công ty em dùng Excel để làm kế toán. em tạo một sheet là NKC để ghi lại các hóa đơn bán hàng trong ngày, và một sheet để in hóa đơn. Vấn đề là cô bé bán hàng lại không thạo excel lắm nên hay bị làm mất dữ liệu. em đã khóa dữ liệu bằng protection sheet, sau đó ghi lại một marco để tự in đồng thời save file và mở protection sheet, chọn các ô đã có dữ liệu đánh dấu locked sau đó đóng protection sheet lại. Như vậy mỗi khi ấn nút in hóa đơn thì sẽ tự động khóa dữ liệu lại rùi, tưởng rằng đã an toàn vì sẽ không thế sửa hoạc xóa dữ liệu. Nhưng lại nảy sinh vấn đề chỉ cần vào phần tool/protection/ Un protection sheet là excel nó tự động mở mà không cần gõ pass. hix vậy là nó vẫn có thể xóa hoặc sửa dữ liệu của em, và cái này đã sảy ra khiến cho số hóa đơn bị trùng lặp vì nó xóa bớt dữ liệu, số hóa đơn của em tự nhảy mà. Vậy xin kính hỏi các Pro có cách nào giúp em hướng dẫn giải quyết vấn đề này không, làm sao để khi Un protection sheet vẫn phải nhập pass mới mở được, và khi in xong là phải tự động khóa lại nhé
 
Không hiểu lắm, bạn có thể gửi file lên luôn ko? Vì khi Unprotect Sheet thì phải nhập password chứ.
 
Khi bạn Protect Sheet, hộp thoại Password hiện lên nếu bạn không nhập Password gì cả thì sẽ gặp trường hợp như vậy.
 
Nói thiệt, Protect là để chơi cho vui thôi... một người càng không biết gì về Excel thì càng có khả năng phá tan nát dử liệu trong sheet đã được protect... Các bạn tin không? (tất nhiên là chẳng cần Crack pass gì cả)
 
Lần chỉnh sửa cuối:
Đây là file của mình. vấn đề là khi chay marco lan đâu tiên nó sẽ hỏi pass unprotect, sau khi minh nhập vào thì nó sẽ tự nhớ. lần sau nó sẽ không hỏi nữa mà mở ra luôn. đó là vấn đề của em, vậy các bác có cách nào để khóa an toàn dữ liệu trong sheet hay hơn không

Đây là file làm việc của em, các bác cho ý kiến nhé

Khi bạn Protect Sheet, hộp thoại Password hiện lên nếu bạn không nhập Password gì cả thì sẽ gặp trường hợp như vậy.

Cảm ơn bạn nhưng khi chạy marco lần đầu tiên, nếu mình không nhập pass cho nó thì nó sẽ không khóa được dữ liệu. Đánh pass rùi thì lần sau nó không thèm hỏi nữa, và khi mình cần mở Unprotect thì nó cũng không cần hỏi luôn, chỉ cần nhấp vào Tool/protection/ Unprotection là nó tự động mở luôn. Vấn đề mình cần giải quyết là ở chỗ này, làm sao khi vào chọn Tool/protection/ Unprotection nó vẫn phải nhập pass thì mới mở để sửa dữ liệu được. có như vậy mình mới quản lý được chứ
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Tại Sub khoa_dl, dòng ActiveSheet.Unprotect bạn thêm pass trong dấu nháy kép "" "". tương tự, tại dòng ActiveSheet.Protect bạn cũng thêm pass trong dấu nháy kép "" "". Khi đó, nếu muốn unprotect phải có pass.
VD: Banh muốn đặt pass là ABC thì các dòng lệnh như sau:
........
ActiveSheet.Unprotect "ABC"
..........................................
ActiveSheet.Protect "ABC"
..........
 
Tại Sub khoa_dl, dòng ActiveSheet.Unprotect bạn thêm pass trong dấu nháy kép "" "". tương tự, tại dòng ActiveSheet.Protect bạn cũng thêm pass trong dấu nháy kép "" "". Khi đó, nếu muốn unprotect phải có pass.
VD: Banh muốn đặt pass là ABC thì các dòng lệnh như sau:
........
ActiveSheet.Unprotect "ABC"
..........................................
ActiveSheet.Protect "ABC"
..........
Cảm ơn bạn rất nhiều nhé, mình đã làm như bạn và đã giải quyết được vấn đề //**/
 
Nói thiệt, Protect là để chơi cho vui thôi... một người càng không biết gì về Excel thì càng có khả năng phá tan nát dử liệu trong sheet đã được protect... Các bạn tin không? (tất nhiên là chẳng cần Crack pass gì cả)
bằng cách nào vậy bạn?Chỉ cho mình với. Thanks
 
bằng cách nào vậy bạn?Chỉ cho mình với. Thanks
Trong vùng dử liệu cho phép nhập liệu, chỉ cần nắm kéo 1 cell nào đó và thả vào nơi khác là coi như công thức đi đời!
Vậy các bạn nói xem trong trừong hợp này Protect sheet có cần thiết không với người không rành Excel
Xem file đính kèm để biết chi tiết
???
 

File đính kèm

Trong vùng dử liệu cho phép nhập liệu, chỉ cần nắm kéo 1 cell nào đó và thả vào nơi khác là coi như công thức đi đời!
Vậy các bạn nói xem trong trừong hợp này Protect sheet có cần thiết không với người không rành Excel
Xem file đính kèm để biết chi tiết
???
hay thật, jờ e mới bít.Đúng là e gà quá!!!
 
cảm ơn các bác trước, Ở công ty em dùng Excel để làm kế toán. em tạo một sheet là NKC để ghi lại các hóa đơn bán hàng trong ngày, và một sheet để in hóa đơn. Vấn đề là cô bé bán hàng lại không thạo excel lắm nên hay bị làm mất dữ liệu. em đã khóa dữ liệu bằng protection sheet, sau đó ghi lại một marco để tự in đồng thời save file và mở protection sheet, chọn các ô đã có dữ liệu đánh dấu locked sau đó đóng protection sheet lại. Như vậy mỗi khi ấn nút in hóa đơn thì sẽ tự động khóa dữ liệu lại rùi, tưởng rằng đã an toàn vì sẽ không thế sửa hoạc xóa dữ liệu. Nhưng lại nảy sinh vấn đề chỉ cần vào phần tool/protection/ Un protection sheet là excel nó tự động mở mà không cần gõ pass. hix vậy là nó vẫn có thể xóa hoặc sửa dữ liệu của em, và cái này đã sảy ra khiến cho số hóa đơn bị trùng lặp vì nó xóa bớt dữ liệu, số hóa đơn của em tự nhảy mà. Vậy xin kính hỏi các Pro có cách nào giúp em hướng dẫn giải quyết vấn đề này không, làm sao để khi Un protection sheet vẫn phải nhập pass mới mở được, và khi in xong là phải tự động khóa lại nhé


Em có thể làm như sau :

1. Bỏ chế độ kéo thả từ Cell này sang Cell khác :
PHP:
Private Sub Workbook_Activate()
    With Application
        .CellDragAndDrop = False
        .CopyObjectsWithCells = False
    End With
End Sub

2. Ngăn chặn chế độ Cut hoặc Copy trong bất kỳ trường hợp nào :

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CutCopyMode = False
End Sub


Dĩ nhiên cái gì cũng có 2 mặt của nó : Bạn không thể Cut hoặc Copy trên File đó được nữa.

File tham khảo : Mượn của bác ndu


Thân!
 

File đính kèm

Em có thể làm như sau :

1. Bỏ chế độ kéo thả từ Cell này sang Cell khác :
PHP:
Private Sub Workbook_Activate()
    With Application
        .CellDragAndDrop = False
        .CopyObjectsWithCells = False
    End With
End Sub
2. Ngăn chặn chế độ Cut hoặc Copy trong bất kỳ trường hợp nào :

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CutCopyMode = False
End Sub
Dĩ nhiên cái gì cũng có 2 mặt của nó : Bạn không thể Cut hoặc Copy trên File đó được nữa.

File tham khảo : Mượn của bác ndu


Thân!
Nếu ngăn chặn Cut Copy và kéo thã thì tôi nghĩ chẳng ai thích... Làm việc rên Excel phải luôn có mấy thao tác này: Copy, cut, Fill... mà còn rất thường xuyên! Giờ bắt người ta chỉ được nhập trực tiếp... Hic... chắc người ta.. dẹp luôn chương trình của mình quá (vì không thuận tiện)
 
Lần chỉnh sửa cuối:
Trong vùng dử liệu cho phép nhập liệu, chỉ cần nắm kéo 1 cell nào đó và thả vào nơi khác là coi như công thức đi đời! Vậy các bạn nói xem trong trừong hợp này Protect sheet có cần thiết không với người không rành Excel Xem file đính kèm để biết chi tiết ???
Đúng vậy! Nên ta mới học VBA chứ! Phải không bác. VBA thì cũng có khuyết điểm nhưng với khuyết điểm của bác thì lại khắc phục được mà! Chỉ cần hệ thống hóa công thức vào VBA luôn là không cần công thức nữa mà kéo thả tự do! Thân.
 
Lần chỉnh sửa cuối:
Nếu ngăn chặn Cut Copy và kéo thã thì tôi nghĩ chẳng ai thích... Làm việc rên Excel phải luôn có mấy thao tác này: Copy, cut, Fill... mà còn rất thường xuyên! Giờ bắt người ta chỉ được nhập trực tiếp... Hic... chắc người ta.. dẹp luôn chương trình của mình quá (vì không thuận tiện)

Vâng, làm việc trên Sheet khổ thế đấy bác ạ.

Ta có thể định ra cái vùng (hoặc sheet) loại trừ kéo thả và copy, cut. Còn các vùng khác, sheet khác thì vẫn được (VD trên là File khác)

Còn để chuyên nghiệp hơn thì đành dùng Form vậy.

Không biết bác có cao kiến gì không ??

Thân!
 
Vâng, làm việc trên Sheet khổ thế đấy bác ạ.

Ta có thể định ra cái vùng (hoặc sheet) loại trừ kéo thả và copy, cut. Còn các vùng khác, sheet khác thì vẫn được (VD trên là File khác)

Còn để chuyên nghiệp hơn thì đành dùng Form vậy.

Không biết bác có cao kiến gì không ??

Thân!
Tôi đồng ý với ý kiến này! Đến cuối cùng thì chắc chỉ có dùng Form mới bảo mật tốt được!
Vậy thì tùy theo hoàn cảnh mà chọn cho mình 1 giãi pháp phù hợp
 
Web KT

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

Back
Top Bottom