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

Làm cách nào để khóa hoặc mở khóa các ô dựa trên các giá trị trong một ô khác trong Excel?

Trong một số trường hợp, bạn có thể cần phải khóa hoặc mở khóa các ô dựa trên các giá trị trong một ô khác. Ví dụ: bạn cần mở khóa phạm vi B1: B4 nếu ô A1 chứa giá trị “Chấp nhận”; và bị khóa nếu ô A1 chứa giá trị “Từ chối”. 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 mở khóa các ô dựa trên các giá trị trong một ô khác bằng mã VBA


Khóa hoặc mở khóa các ô dựa trên các giá trị trong một ô khác bằng mã VBA

Mã VBA sau có thể giúp bạn khóa hoặc mở khóa các ô dựa trên giá trị trong một ô khác trong Excel.

1. Nhấp chuột phải vào tab trang tính (trang tính có các ô bạn cần khóa hoặc mở khóa dựa trên các giá trị trong ô khác) và nhấp Mã Chế độ xem từ menu chuột phải.

2. Sau đó sao chép và dán mã VBA sau vào cửa sổ Mã.

Mã VBA: Khóa hoặc mở khóa các ô dựa trên các giá trị trong một ô khác

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1") = "Accepting" Then
        Range("B1:B4").Locked = False
    ElseIf Range("A1") = "Refusing" Then
        Range("B1:B4").Locked = True
    End If
End Sub

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

Từ bây giờ, khi bạn nhập giá trị “Chấp nhận” vào ô A1, phạm vi B1: B4 sẽ được mở khóa.

Khi nhập giá trị “Từ chối” vào ô A1, phạm vi được chỉ định B1: B4 sẽ tự động bị khóa.


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 (52)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm thế nào có thể khóa / mở khóa một ô biến, ví dụ khi ô là [= INDEX (A16: L35, MATCH (W5, A16: A35,0), MATCH ("PAY", A16: L16,0))]
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 muốn một lệnh VBA đơn giản mà tôi không thể tìm ra, vui lòng giúp đỡ
Nếu ô A1 là Balnk thì ô A2 bị khóa và Nếu ô A1 chứa bất kỳ Giá trị nào thì ô A2 được mở khóa
Tương tự nếu ô A2 trống thì ô A3 sẽ bị khóa và nếu ô A2 chứa bất kỳ giá trị nào thì ô A3 sẽ được mở khóa
và như vậy bao nhiêu ô theo yêu cầu trong bất kỳ phần nào của trang tính.
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 đang cố gắng đạt được điều này, nhưng tôi gặp lỗi VBA không thể đặt thuộc tính Đã khóa của lớp Phạm vi nếu trang tính đã được bảo vệ. Khi đó, việc bỏ bảo vệ trang tính sẽ phủ nhận ô đang bị khóa. Làm thế nào để giải quyết vấn đề này? Cảm ơn vì bất kì sự 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
Bạn đã giải quyết? Tôi có cùng một vấn đề
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kính gửi Memo,
Vui lòng thử mã VBA bên dưới.

Private Sub Worksheet_Activate ()
Nếu không ActiveSheet.ProtectContents Thì
Phạm vi ("A1"). Đã khóa = Sai
Phạm vi ("B1: B4"). Đã khóa = Sai
Cuối Nếu
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Làm mờ xRg As Range, xRgA As Range
On Error Resume Next
Application.EnableEvents = Sai
Đặt xRg = Range ("B1: B4")
Đặt xRgA = Range ("A1")
If Intersect (Target, xRg) .Address <> Target.Address _
Hoặc xRgA = "Chấp nhận" Sau đó
Ứng dụng.EnableEvents = True
Thoát Sub
ElseIf ActiveSheet.ProtectContents _
Và Intersect (Target, xRg) = Target _
Và xRgA.Value = "Từ chối" Sau đó
xRgA.Chọn
Cuối Nếu
Ứng dụng.EnableEvents = True
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
Bạn sẽ muốn sử dụng dòng giao diện trong sổ làm việc để khi bạn mở tệp, nó sẽ bảo vệ các trang tính nhưng vẫn cho phép macro thực hiện thay đổi;

Private Sub Workbook_Open () 'Điều này sẽ chuyển thành "ThisWorkbook"

Worksheets ("Công cụ đặt hàng"). Bảo vệ Mật khẩu: = "Pwd", UserInterFaceOnly: = True

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
Kiến thân mến,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề này. Cảm ơn bình luận của bạn.

Private Sub Worksheet_Activate ()
Nếu không ActiveSheet.ProtectContents Thì
Phạm vi ("A1"). Đã khóa = Sai
Phạm vi ("B1: B4"). Đã khóa = Sai
Cuối Nếu
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Làm mờ xRg As Range, xRgA As Range
On Error Resume Next
Application.EnableEvents = Sai
Đặt xRg = Range ("B1: B4")
Đặt xRgA = Range ("A1")
If Intersect (Target, xRg) .Address <> Target.Address _
Hoặc xRgA = "Chấp nhận" Sau đó
Ứng dụng.EnableEvents = True
Thoát Sub
ElseIf ActiveSheet.ProtectContents _
Và Intersect (Target, xRg) = Target _
Và xRgA.Value = "Từ chối" Sau đó
xRgA.Chọn
Cuối Nếu
Ứng dụng.EnableEvents = True
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,

Có thể có VBA này khóa một tập hợp các ô / mở khóa khác dựa trên điều này không? Ví dụ: Phạm vi B1: B4 được mở khóa và C1: C4 bị khóa vì "chấp nhận" và sau đó B1: B4 bị khóa và C1: C4 được mở khóa vì "từ chối"?


Cảm ơn,
Christian
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Christian thân mến,
Trang tính của bạn có được bảo vệ 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
xin vui lòng ai đó có thể giúp tôi với những điều sau đây.
Tôi muốn chèn hình ảnh của học sinh vào một trang tính, xuất hiện trong một trang tính khác dựa trên tên của họ
Để tạo mặt phẳng điều hướng để hỗ trợ người dùng
Để gán (các) trang tính cụ thể cho người dùng
Để tạo giao diện cho sổ làm việc
Để tạo một trang đăng nhập
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sư tử thân mến,
Bất kỳ câu hỏi nào về Excel, vui lòng đăng 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ợ hơn về Excel từ chuyên gia Excel của chúng 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
Chào bạn,

Tôi đã thử mã của bạn và chỉnh sửa một chút, nhưng tôi không thể tìm ra tôi làm sai điều gì ở đây?

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Phạm vi ("A40") <> "" Thì
Phạm vi ("D40: E40"). Đã khóa = Sai
ElseIf Range ("A40") = "" Sau đó
Phạm vi ("D40: E40"). Đã khóa = Đúng
Cuối Nếu
End Sub


Mặc dù của tôi về nó là nếu không có gì trong đó (A40). Sau đó, tôi muốn khóa bằng VBA. Nếu A40 chứa một cái gì đó, thì tôi muốn nó được mở khóa. Tôi hy vọng bạn có thể thấy ý nghĩa của nó.


Trân trọng Kristoffer
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,
Không có gì sai với mã của bạn. Nó hoạt động tốt cho 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
Chào. Tôi cũng không thể làm cho mã này hoạt động. Nó hoàn toàn không có gì. Như thể mã thậm chí không có ở đó ?? Tôi rất mới đối với VBA và có hiểu biết cơ bản về nó. Mã này đang được chạy như hiện tại hay nó phải có thêm nội dung nào đó để nó chạy? Hoặc biến thành Macro (mà tôi không thực sự hiểu tại sao vì đó là bản ghi lại các hướng dẫn, dựa trên sự hiểu biết của tôi về chúng)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
MÃ SẼ LÀ GÌ NẾU TÔI MUỐN KHÓA CELL E1, E2, E3 .............. CHO VĂN BẢN CỤ THỂ (HÃY NÓI "P") TRÊN TẾ BÀO B1, B2, B3 ... ..............TƯƠNG Ứ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
Vui lòng thử tập lệnh VBA bên dưới.

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Target.Count = 1 thì
If Target.Address = Range ("A1"). Address And Target.Value = "A" Thì
Phạm vi ("B1"). Đã khóa = Đúng
ElseIf Target.Address = Range ("A2"). Address And Target.Value = "A" Sau đó
Phạm vi ("B2"). Đã khóa = Đúng
ElseIf Target.Address = Range ("A3"). Address And Target.Value = "A" Sau đó
Phạm vi ("B3"). Đã khóa = Đúng
Cuối Nếu
Cuối Nếu
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úc ngày tốt lành!
Мне тоже необходимо заблокировать значение, но только в одной ячейке в зависимости от значения в другой, я попробовала использовать код в комментарии выше, но он не работает(оставила только один параметр для блокировки), но он у меня не работает - при этом нет сообщения об ошибке, ячейка, которая должна быть заблокирована - просто не блокируется, остается активной. Bạn có thể làm gì với nó không?

Вот код, который я использовала:

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Target.Coun t=1 Thì
Nếu Target.Address = Range("C9").Address And Target.Value = "согласно плану" thì
Phạm vi ("C10"). Đã khóa = Đúng
Cuối Nếu
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
Hi Ghost,
Tôi xin lỗi tôi không hoàn toàn hiểu những gì bạn có ý nghĩa. Để rõ ràng, vui lòng đính kèm tệp mẫu hoặc ảnh chụp màn hình với dữ liệu của bạn và kết quả mong muốn.
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ố lời khuyên.
Có cách nào để không cho phép một ô được cập nhật trừ khi nó đã thỏa mãn một điều kiện trên một ô khác không?
Mẫu: nếu ô A không được cập nhật nó sẽ không cho phép tôi thay đổi giá trị của ô B để hoàn thành.

Đánh giá cao các thông tin phản hồi.
Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Margie thân mến,
Vui lòng thử mã VBA bên dưới.

Làm mờ PreVal dưới dạng chuỗi
Làm mờ NextVal dưới dạng chuỗi
Private Sub Worksheet_Activate ()
PreVal = Phạm vi ("A1")
NextVal = Phạm vi ("A1")
End Sub
Private Sub Worksheet_Change (ByVal Target As Range)
Nếu (Target.Count = 1) Và (Target.Address = "$ A $ 1") Thì
NextVal = Phạm vi ("A1")
Cuối Nếu
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Nếu Target.Count = 1 thì
If Target.Address = "$ A $ 1" Thì
PreVal = Phạm vi ("A1")
ElseIf (Target.Address = "$ B $ 1") Sau đó
Nếu PreVal = NextVal thì
Application.EnableEvents = Sai
Phạm vi ("A1"). Chọn
Ứng dụng.EnableEvents = True
Cuối Nếu
Cuối Nếu
Cuối Nếu
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
một số người có thể sửa điều này làm ơn >>>

Private Sub Worksheet_Change (ByVal Target As Range)
Đối với i = 7 đến 100
If Range ("Cells (D, i)") = "Loan" Thì
Phạm vi ("Ô (V, i): Ô (X, i)"). Đã khóa = Đúng
ElseIf Range ("Cells (D, i)") = "Tiết kiệm" Sau đó
Phạm vi ("Ô (Q, i): Ô (U, i)"). Đã khóa = Đúng
Phạm vi ("Ô (W, i): Ô (X, i)"). Đã khóa = Đúng
ElseIf Range ("Cells (D, i)") = "ShareCap" Sau đó
Phạm vi ("Ô (Q, i): Ô (U, i)"). Đã khóa = Đúng
Phạm vi ("Ô (V, i)"). Đã khóa = Đúng
Cuối Nếu
Tiếp theo
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
Xin chào! Ai đó có thể giúp tôi? Tôi phải khóa / đóng băng một phòng giam. Ô đó được liên kết với một ô khác và có giá trị thay đổi mỗi phút. Điều tôi cần làm là giữ giá trị trong một phút / giờ nhất định. Làm thế nào tôi có thể làm điều đó mà không cần sao chép nó và dán nó dưới dạng một giá trị?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mira thân mến,
Xin lỗi không thể giúp bạn với điều này, bạn có thể đăng câu hỏi của bạn trong diễn đàn của chúng tôi: https://www.extendoffice.com/forum.html để nhận được nhiều hỗ trợ Excel hơn từ chuyên gia của chúng 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
Chào,
Tôi thực sự mới mẻ với điều này.
Tôi đã cố gắng kết hợp một hệ thống lập hóa đơn trong excel.
Tôi đã tạo 3 trang tính.
1. Mẫu hóa đơn (Invoice) - Chỉ là một hóa đơn chung được gửi đến các đại lý của tôi hàng tuần.

2. Chính xác là một bảng dữ liệu (Data sheet) - nơi hóa đơn có thể đọc được địa chỉ tên công ty, v.v., vì vậy nếu có gì thay đổi hóa đơn sẽ được cập nhật tự động.

3. Chính xác là một tab lịch (Lịch 2018) - được tham chiếu trong mẫu hóa đơn và đặt ngày và số hóa đơn tương ứng trên các hóa đơn thực tế.

Những gì tôi muốn làm.
Tab lịch sẽ là trang chính của tôi, tôi đã thêm một ô thả xuống trạng thái cho mỗi tuần với các tùy chọn "Đang hoạt động" và "Đã đóng". Tôi muốn Khóa toàn bộ tab "Hóa đơn" nếu ô tương ứng được đặt thành "Đã đóng".

Tôi hy vọng các bạn hiểu những gì tôi đang cố gắng làm.
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
Ando Veres thân mến.
Mã VBA dưới đây có thể giúp bạn. Vui lòng đặt mã vào cửa sổ mã trang tính của Lịch 2018 thay đổi A1 vào ô thả xuống của bạn. Cảm ơn bạn.

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg theo phạm vi
On Error Resume Next
Đặt xRg = Intersect (Mục tiêu, Phạm vi ("A1"))
Nếu xRg không có gì thì thoát Sub
Nếu Target.Validation.Type> = 0 Thì
If Target.Value = "Đóng" Thì
Trang tính ("Bảng dữ liệu"). Bảo vệ
ElseIf xRg.Value = "Hoạt động" Sau đó
Trang tính ("Bảng dữ liệu"). Bỏ bảo vệ
Cuối Nếu
Cuối Nếu
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
Tôi chuẩn bị một bản quản lý kho hàng nhập kho bằng mẫu excel. Để giao hàng, tôi phải cấp thẻ cửa khẩu, tôi muốn mỗi lần chuyển cửa khẩu, dữ liệu tương ứng sẽ được cập nhật trong trang lấy hàng hàng ngày. hàng sẽ bị khóa và tiếp theo sẽ được lấp đầy.
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,
Sẽ rất tuyệt nếu bạn có thể tải lên sổ làm việc của mình ở đây. Cảm ơn bình luận của 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
Bạn có thể hướng dẫn cho tôi về những gì sai ở đây xin vui lòng? Cảm ơn bạn trước.

Private Sub Worksheet_Change (ByVal Target As Range)
If Range ("K: K") = "HẾT KHO" Thì
Phạm vi ("S: S"). Đã khóa = Đúng
ElseIf Range ("K: K") = "CHUYỂN ĐỘNG CHẬM" Sau đó
Phạm vi ("S: S"). Đã khóa = Đúng
ElseIf Range ("K: K") = "NORMAL" Sau đó
Phạm vi ("S: S"). Đã khóa = Sai
ElseIf Range ("K: K") = "SHORTAGE" Sau đó
Phạm vi ("S: S"). Đã khóa = Sai
Cuối Nếu
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
Bạn vui lòng tư vấn cho tôi cách khắc phục điều này? Cảm ơn bạn trước.

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Range ("A: A") = "CHUYỂN ĐỘNG CHẬM" thì
Phạm vi ("B: B"). Đã khóa = Đúng
ElseIf Range ("A: A") = "HẾT KHO" Sau đó
Phạm vi ("B: B"). Đã khóa = Đúng
ElseIf Range ("A: A") = "NORMAL" Sau đó
Phạm vi ("B: B"). Đã khóa = Sai
Cuối Nếu
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
Không phải là một chuyên gia VB, tôi sẽ nói rằng bạn có quá nhiều "Elseif" - nếu bạn thay đổi tất cả chúng thành IF ngoại trừ cái cuối cùng thì hy vọng rằng điều đó sẽ hoạt động.
Về cơ bản Nếu X làm điều này, Nếu Y làm điều này, nếu Z làm điều này, nếu không có - hãy làm điều 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
Mã sẽ như thế nào nếu tôi muốn khóa một khối ô (Hàng 6, 7 và 8 / Các chữ cái từ D đến U cũng như các ô F5 và J5) và để chúng mở khóa khi tôi đặt dấu "X" vào ô E5? 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
Xin chào MitchyII,
Ý của bạn là khối ô được chỉ định đã được khóa thủ công từ trước và chỉ muốn mở khóa chúng bằng cách nhập "X" vào ô E5?
Nếu xóa "X" khỏi ô E5, bạn có muốn khóa lại các phạm vi không?
Tôi cần thêm chi tiết của vấn đề.
Cảm ơn bạn đã bình luận của 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
Xin chào Mitchyll (hoặc bất kỳ ai), xây dựng từ Crystal. Tôi đã khóa tất cả các ô theo cách thủ công và dựa trên thông tin trong cột G, tôi muốn chúng vẫn bị khóa hoặc mở khóa. Các ô ví dụ trong cột H CHỈ nên được mở khóa nếu "c / p" được đặt trong ô trước trong cột G
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể khóa một ô khi nó đạt đến một giá trị nhất định 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
Xin chào, bạn có thể vui lòng kiểm tra lý do tại sao nó không hoạt động?

Private Sub Worksheet_Change (ByVal Target As Range)
Nếu Phạm vi ("A3: A37"). Giá trị <> "" Thì
Phạm vi ("B3: B37"). Đã khóa = Đúng
ElseIf Range ("A3: A37") = "" Sau đó
Phạm vi ("B3: B37"). Đã khóa = Sai
Cuối Nếu

Nếu Phạm vi ("B3: B37"). Giá trị <> "" Sau đó
Phạm vi ("A3: A37"). Đã khóa = Đúng
ElseIf Range ("B3: B37") = "" Sau đó
Phạm vi ("A3: A37"). Đã khóa = Sai
Cuối Nếu

End Sub


Cảm ơn bạn rất nhiều 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
Hi
Tôi vừa thử sử dụng đoạn mã trên
và nó báo lỗi loại 13 khi tôi cố gắng sử dụng nó.
bạn có thể giúp tôi với đ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
Chào,
Bạn đang sử dụng phiên bản Excel 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
hi

nếu tôi cần khóa một ô trên trang 2 (ô C4) dựa trên yêu cầu từ trang 1 (ô C1),
if "no" trên sheet 1 C4; sheet 2 phải được khóa và nó phải chuyển giá trị từ sheet 1 C4,
sang tờ 2 C4.

nếu "có" trên trang tính 1, tôi phải có thể nhập vào ô trên trang tính 2

Cảm ơn Benthe
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ất kỳ ai giúp tôi cho mã VBA.

nếu tôi chọn từ trình đơn thả xuống trong ô Phạm vi (A1: A1000) "abc" thì không khóa Phạm vi (D1: D1000) thành (F1: F1000)



nếu tôi chọn từ trình đơn thả xuống trong ô Phạm vi (A1: A1000) "abc" thì không khóa Phạm vi (D1: D1000) thành (F1: F1000)



nếu tôi chọn từ trình đơn thả xuống trong ô Phạm vi (A1: A1000) "abc" thì khóa Phạm vi (D1: D1000) thành (F1: F1000)



tức là ô tương ứng A1 cho D1 đến F1



A2 cho D2 đến F2
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 đã sao chép mọi thứ từ phía trên vào một trang tính. Nó hoạt động trong một giây và bây giờ tôi gặp lỗi 'Không thể đặt thuộc tính Khóa của lớp Phạm vi'. Tôi thậm chí còn mở một trang hoàn toàn mới và sao chép nguyên văn ví dụ của bạn. Có ai biết cái gì đang xảy ra 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
Chào bạn,

Tôi cần sự giúp đỡ của bạn. khi tôi chọn Không có tùy chọn nào từ một ô, tôi muốn các cột bên dưới bị khóa / chuyển sang màu xám.

Điều đó có thể không? Tôi đã thử công thức này nhưng không hiệu quả

Private Sub Worksheet_Change (ByVal Target As Range)

Nếu Phạm vi ("D90") = "Có" Thì

Phạm vi ("C94: F104"). Đã khóa = Sai

ElseIf Range ("D90") = "Không" Sau đó

Phạm vi ("C94: F104"). Đã khóa = Đúng

Cuối Nếu

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
Xin chào Steffi,
Mã hoạt động tốt.
Nếu bạn muốn khóa phạm vi ô để ngăn chỉnh sửa, bạn cần bảo vệ trang tính theo cách thủ công sau khi chọn Không có tùy chọn trong D90.
Và vì D90 nằm trong dải C94: F104, sau khi bảo vệ trang tính, D90 cũng không thể chỉnh sửa được.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
D90 không nằm trong phạm vi. Nó 4 hàng trên C94
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