Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để khóa hoặc bảo vệ các ô sau khi nhập hoặc nhập dữ liệu trong Excel?

Giả sử bạn có một trang tính và chỉ một phạm vi ô trống nhất định cần nhập dữ liệu và sau khi kết thúc nhập dữ liệu, bạn cần tự động khóa các ô để ngăn các thay đổi lần nữa. Bạn có thể làm như thế nào để đạt được nó? Bài viết này có thể giúp bạn.

Khóa hoặc bảo vệ các ô sau khi nhập hoặc nhập dữ liệu bằng mã VBA


Khóa hoặc bảo vệ các ô sau khi nhập hoặc nhập dữ liệu bằng mã VBA

Ví dụ, phạm vi ô trống nhất định là A1: F8. Hãy làm như sau để khóa các ô này sau khi nhập dữ liệu trong Excel.

1. Vui lòng mở khóa phạm vi này trước, chọn các ô và nhấp chuột phải, sau đó chọn Format Cells trong menu chuột phải và trong Format Cells hộp thoại, bỏ chọn Đã bị khoá hộp dưới bảo vệ và cuối cùng nhấp vào OK cái nút. Xem ảnh chụp màn hình:

2. nhấp chuột Đánh giá > Bảo vệ Sheet. Và chỉ định mật khẩu để bảo vệ trang tính này.

3. Nhấp chuột phải vào tab trang tính, chọn Mã Chế độ xem từ menu chuột phải. Sau đó sao chép và dán mã VBA bên dưới vào cửa sổ Mã. Xem ảnh chụp màn hình:

Mã VBA: Khóa hoặc bảo vệ các ô sau khi nhập hoặc nhập dữ liệu

Dim mRg As Range
Dim mStr As String

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
    mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Intersect(Range("A1:F8"), Target)
    If xRg Is Nothing Then Exit Sub
    Target.Worksheet.Unprotect Password:="123"
    If xRg.Value <> mStr Then xRg.Locked = True
    Target.Worksheet.Protect Password:="123" 
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
     mStr = mRg.Value
End If
End Sub

Chú thích: Trong mã, “A1: F8” là phạm vi bạn cần nhập dữ liệu; và “123” là mật khẩu của trang tính được bảo vệ này. Vui lòng thay đổi chúng khi bạn cần.

4. nhấn Khác + Q các phím đồng thời để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

Sau khi nhập xong dữ liệu vào các ô thuộc phạm vi A1: F8, chúng sẽ tự động bị khóa. Và bạn sẽ nhận được một hộp thoại nhắc nhở nếu bạn cố gắng thay đổi bất kỳ nội dung ô nào của phạm vi này. Xem ảnh chụp màn hình:


Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (74)
Xếp hạng 5 trong 5 · xếp hạng 1
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi có một bảng tính với dải ô A3: AN219, tôi muốn bảo vệ dải ô này khi và khi nhập xong. Xin hãy giúp tôi về điều này. Tôi đã thử mã ở trên nhưng nó không hoạt động với tôi
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này không hoạt động khi nó mở lại tệp excel, vui lòng giúp đỡ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hãy thử mã này thay thế: = "hello" MyRange.Locked = True Sheets ("Sheet1"). Mật khẩu bảo vệ: = "hello" End If End Sub Và hãy nhớ thay đổi phạm vi (A100: D1), mật khẩu (xin chào) và tên / số trang tính (Sheet1) nếu nó không phù hợp với ở trên :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì mã. Vui lòng cho tôi biết cách tự động khóa các ô (tương tự như các ô do bạn liệt kê) CHỈ SAU KHI lưu tệp
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Ngài, tôi đang gặp phải một vấn đề với cùng một mã khi sử dụng mã này với cobe khác trong VBA. Vui lòng đề xuất cho tôi một số giải pháp Cảm ơn và Trân trọng Gourav
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Gourav thân mến,
Xin lỗi không thể giải quyết vấn đề này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã thử mã và dường như hoạt động phần nào. Tuy nhiên, nó cho phép tôi xóa ngày đã nhập vào ô nhưng chỉ dừng lại khi tôi cố gắng nhập một thứ khác. Có cách nào để giữ cho dữ liệu không bị xóa không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Stacy thân mến,
Vấn đề tương tự không xuất hiện trong trường hợp của tôi. Mã ngăn người dùng nhập cũng như xóa dữ liệu khỏi phạm vi được chỉ định. Bạn có cung cấp phiên bản Office của mình để thử nghiệm thêm không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đối với bất kỳ ai có thể đã vấp phải ở đây kể từ bình luận này. Nếu bạn đang phải mở khóa trang tính EVERYTIME bạn điền vào một ô thì trước tiên bạn cần phải, - Mở khóa bảng tính - Đánh dấu vùng của trang tính mà mã áp dụng - Nhấp chuột phải và đi đến 'định dạng ô' - Đi tới tab ngoài cùng bên phải có tên là 'Bảo vệ' và BỎ QUA phần 'Đã khóa' (Ngay cả khi Nó xuất hiện dưới dạng một ô tô liền mạch thay vì một dấu tích) Sau đó, bạn sẽ có thể nhập dữ liệu vào nhiều ô mà không cần phải mở khóa mọi lúc. Hãy nhớ rằng nếu bạn cần truy cập lại các ô đã khóa để xóa hoặc chỉnh sửa thông tin, bạn có thể cần lặp lại các bước ở trên. Hi vọng điêu nay co ich.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi chỉ muốn khóa các ô đã chỉnh sửa. khi tôi nhập bất kỳ dữ liệu nào vào các ô trống, tôi yêu cầu khóa ô đã chỉnh sửa để được khóa tự động nhưng không khóa các ô trống.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Gửi Subhash,
Sau khi sử dụng mã, chỉ các ô đã chỉnh sửa bị khóa trong phạm vi được chỉ định. Và bạn vẫn có thể nhập dữ liệu vào các ô trống trong phạm vi được chỉ định khi bạn cần. Sau khi điền vào ô trống, nó sẽ tự động bị khóa.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Không, nó khóa toàn bộ phạm vi cùng một lúc sau khi nhập dữ liệu vào một ô trong phạm vi
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Pradip thân mến,
Bạn sử dụng phiên bản Office nào?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thanx cho mã hóa, nhưng tôi có một vấn đề để đặt 2 mã hóa trong 1 trang tính, xin vui lòng giúp đỡ.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hội chợ thân mến,
Xin lỗi không thể giải quyết vấn đề này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Thưa ông, tôi muốn khóa sau một lần nhập dữ liệu!
Giống như tôi đang theo dõi một khách hàng và viết trạng thái, sau đó bất kỳ nhân viên nào nữa không thể chỉnh sửa hoặc sửa đổi điều đó!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Phương pháp trong bài đăng này cũng có thể giúp bạn giải quyết vấn đề này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ô thậm chí không thể chỉnh sửa được ... có gì sai không hiểu xin vui lòng giúp đỡ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Lúc đầu, bạn cần đặt các ô được chỉ định thành Đã mở khóa cho editig, rồi bảo vệ trang tính. Và cuối cùng là áp dụng tập lệnh VBA.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
nó có phải viết mã không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi


Tôi muốn nó khóa phạm vi sau khi nhập vào một ô trong phạm vi, vui lòng bạn có thể tư vấn cách tôi cần chỉnh sửa điều này để làm điều này cảm ơn bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi
chỉnh sửa mã có cách nào để tôi có thể khóa tất cả các ô trong phạm vi sau khi dữ liệu đã được nhập vào một ô trong phạm vi đó không? vì vậy họ chỉ có thể nhập dữ liệu vào một ô trong phạm vi không phải nhiều ô.


cảm ơn bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Jackie thân mến,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề.

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg theo phạm vi
Dim xSRg dưới dạng phạm vi
On Error Resume Next
Đặt xSRg = Range ("A1: F8")
Đặt xRg = Intersect (xSRg, Target)
Nếu xRg không có gì thì thoát Sub
Mật khẩu Target.Worksheet.Unprotect: = "123"
xSRg.Locked = Đúng
Target.Worksheet.Protect Password: = "123"
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn,
Có cách nào để khóa chỉ các ô chứ không phải toàn bộ trang tính không? Ví dụ: nếu người dùng nhập "Có" trong A2, thì A2 sẽ khóa ngay lập tức để không cho phép bất kỳ thay đổi nào. Tôi vẫn muốn nếu những người khác vẫn có thể chỉnh sửa bất kỳ ô nào khác. Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Smith,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề. Xin vui lòng có một thử và cảm ơn bạn đã nhận xét của bạn.

Private Sub Worksheet_Change (ByVal Target As Range)
On Error Resume Next
Mật khẩu Target.Worksheet.Unprotect: = "123"
Target.Locked = True
Target.Worksheet.Protect Password: = "123"
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good Morning,

Có cách nào ngăn người dùng nhấp chuột phải vào "xem mã" và xem mật khẩu quản trị viên không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đừng bận tâm, tôi hiểu rồi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thế nào? tôi không hiểu ...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xin chào, cần một số trợ giúp


Tôi thực sự đang làm một bảng phân công công việc cho một nhóm lớn người và tất cả mọi người đều có thể truy cập trang này để họ có thể điền vào yêu cầu của họ về số ngày nghỉ phép / phép năm, v.v. tuy nhiên tôi chỉ muốn giới hạn một số người nghỉ phép cho mỗi ngày (tối đa 5 ngày nghỉ phép) và sau khi 5 yêu cầu nghỉ phép được hoàn thành trong ngày, không cơ quan nào khác có thể thực hiện các yêu cầu cho ngày cụ thể đó nữa.


có mã / chức năng nào sẽ tính toán số lượng yêu cầu cụ thể mỗi ngày sau đó khi đạt đến hạn ngạch, sau đó các ô khác bị chặn để các yêu cầu không vượt quá không? cảm ơn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Chào mừng bạn đến đăng bất kỳ câu hỏi nào trong diễn đàn của chúng tôi: https://www.extendoffice.com/forum.html.
Bạn sẽ nhận được nhiều hỗ trợ Excel hơn từ chuyên gia của chúng tôi hoặc những người hâm mộ Excel khác.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào - bài đăng này rất hữu ích và hoạt động hoàn hảo. Tuy nhiên, bộ lọc của tôi ngừng hoạt động khi các ô khóa. Có cách nào để giái quyết vấn đề này không? Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Kim,
Xin lỗi không thể giúp với điều này. Tính năng bộ lọc bị tắt trong trang tính được bảo vệ theo mặc định.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn anh bạn, Điều này đã lưu công việc của tôi: D
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi tôi thoát ra khỏi tệp hiện đang làm việc và mở lại, tôi thấy rằng ô mới không bị khóa sau khi nhập dữ liệu, chỉ có ô khóa trước đó được tìm thấy bị khóa. bất kỳ giải pháp
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Nazmul,
Bạn cần lưu sổ làm việc dưới dạng Sổ làm việc Hỗ trợ Macro Excel trước khi đóng nó.
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL