CÁCH KHÓA DỮ LIỆU KHI ĐÃ NHẬP DỮ LIỆU 1 LẦN

Locvo236

Thành viên mới
Tham gia ngày
11 Tháng hai 2020
Bài viết
10
Được thích
0
Điểm
13
Tuổi
23
Chào mọi người! Hiện tại mình có vấn đề là mình muốn khóa ô trong excel khi đã nhập dữ liệu 1 lần. tránh tình trạng đã nhập dữ liệu rồi lại thay đổi dữ liệu thêm nữa. Mong mọi người chỉ giáo
 

thukhon2014

Thành viên hoạt động
Tham gia ngày
6 Tháng hai 2017
Bài viết
154
Được thích
85
Điểm
180
Bạn muốn nhờ người khác giúp gì ít nhất phải nói rõ bạn muốn khóa như thế nào. Tạo một nút bấm hay thay đổi dữ liệu ở Cell nào đó thì dữ liệu khóa. Cả 1 cái file ví dụ cũng không thấy ?
 

Locvo236

Thành viên mới
Tham gia ngày
11 Tháng hai 2020
Bài viết
10
Được thích
0
Điểm
13
Tuổi
23
Bạn muốn nhờ người khác giúp gì ít nhất phải nói rõ bạn muốn khóa như thế nào. Tạo một nút bấm hay thay đổi dữ liệu ở Cell nào đó thì dữ liệu khóa. Cả 1 cái file ví dụ cũng không thấy ?
sorry bạn, mình mới tham gia Group nên còn nhiều sai sót. mong bạn thông cảm, để mình bổ sung cho rõ thêm để mọi người dễ hướng dẫn hơn
Bài đã được tự động gộp:

Mình muốn khi nhân viên của mình nhập "Ngày hẹn lần 1" vào thì không cho chỉnh sửa hoặc xóa dữ liệu ở Ô "Ngày hẹn lần 1"và hiện thông báo "yêu cầu nhập ngày hẹn tiếp theo" ,mà bắt buộc phải nhập ô " ngày hẹn lần 2" tiếp theo, Nếu có muốn thay đổi hoặc chỉnh sửa phải có yêu cầu nhập Password
 

File đính kèm

Lần chỉnh sửa cuối:

thukhon2014

Thành viên hoạt động
Tham gia ngày
6 Tháng hai 2017
Bài viết
154
Được thích
85
Điểm
180
Bạn thử nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then 'NEU COT THAY DOI LA B,C,D
    If Target.Value <> "" Then      'NEU CELL DO KHAC RONG
        ActiveSheet.Unprotect "GPE"         'MO KHOA VOI PASS LA "GPE"
        Target.Locked = True                'KHOA CELL DO LAI
        ActiveSheet.Protect "GPE"           'PROTECT SHEET LAI VOI PASS LA "GPE"
    End If
End If
End Sub
 

File đính kèm

Locvo236

Thành viên mới
Tham gia ngày
11 Tháng hai 2020
Bài viết
10
Được thích
0
Điểm
13
Tuổi
23
Bạn thử nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then 'NEU COT THAY DOI LA B,C,D
    If Target.Value <> "" Then      'NEU CELL DO KHAC RONG
        ActiveSheet.Unprotect "GPE"         'MO KHOA VOI PASS LA "GPE"
        Target.Locked = True                'KHOA CELL DO LAI
        ActiveSheet.Protect "GPE"           'PROTECT SHEET LAI VOI PASS LA "GPE"
    End If
End If
End Sub
Mình cảm ơn bạn nha, đúng như ý mình luôn, à tiện bạn cho mình hỏi, bạn có tài liệu học excel kèm VBA cho mình xin với, mình muốn co thêm kiến thức về Excel như bạn đó. Cảm ơn bạn
 

thukhon2014

Thành viên hoạt động
Tham gia ngày
6 Tháng hai 2017
Bài viết
154
Được thích
85
Điểm
180
@hpkhuong Quảng cáo gì bạn ?, bạn ấy hỏi thì mình trả lời?. Với lại, mình có thu đồng xu, lợi nhuận nào từ việc này mà bạn bảo mình quảng cáo ?.
 

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
7,917
Được thích
9,261
Điểm
560
...Có thêm diễn đàn , thì sự cạnh tranh càng tốt, lợi cho người sử dụng
Cạnh tranh gì bạn?
Bạn muốn nói địa vị độc tôn của GPE sẽ lung lay đối với những người đói bài?

Hổng dám đâu. Mấy quán khác cơm hẩm cà mốc không hè. Cho đến nay GPE vẫn là quán cơm nóng canh sốt. Tuy rằng cái vụ ruồi nhặng thì có vẻ đang trên đà tăng.
 

ppc0312

whom?
Tham gia ngày
2 Tháng tư 2008
Bài viết
464
Được thích
219
Điểm
710
Cạnh tranh gì bạn?
Bạn muốn nói địa vị độc tôn của GPE sẽ lung lay đối với những người đói bài?

Hổng dám đâu. Mấy quán khác cơm hẩm cà mốc không hè. Cho đến nay GPE vẫn là quán cơm nóng canh sốt. Tuy rằng cái vụ ruồi nhặng thì có vẻ đang trên đà tăng.
Vì tôi thấy hiện nay có 1 số diễn đàn ở Việt nam chặn băng thông (làm chậm) truy cập với các user account (tài khoản người dùng / nick) họ không thích, và âm thầm làm việc đó, thật là lợi hại. Đó là vì tính độc quyền, tính quan của họ.

Còn diễn đàn nào cũng phát triển từ số nhỏ lên thôi, có thịnh ắt có suy.
 
Lần chỉnh sửa cuối:

Locvo236

Thành viên mới
Tham gia ngày
11 Tháng hai 2020
Bài viết
10
Được thích
0
Điểm
13
Tuổi
23
Bạn thử nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then 'NEU COT THAY DOI LA B,C,D
    If Target.Value <> "" Then      'NEU CELL DO KHAC RONG
        ActiveSheet.Unprotect "GPE"         'MO KHOA VOI PASS LA "GPE"
        Target.Locked = True                'KHOA CELL DO LAI
        ActiveSheet.Protect "GPE"           'PROTECT SHEET LAI VOI PASS LA "GPE"
    End If
End If
End Sub
Bạn cho mình hỏi cái code này là dùng để làm gì ạ
1581472504271.png
 

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
7,917
Được thích
9,261
Điểm
560

thukhon2014

Thành viên hoạt động
Tham gia ngày
6 Tháng hai 2017
Bài viết
154
Được thích
85
Điểm
180
@Locvo236 Bạn thay
Mã:
Target.Column
Ví dụ thành từ vùng A1:B2
Mã:
Target.Range("A1:B2")
Bài đã được tự động gộp:

Cạnh tranh gì bạn?
Bạn muốn nói địa vị độc tôn của GPE sẽ lung lay đối với những người đói bài?

Hổng dám đâu. Mấy quán khác cơm hẩm cà mốc không hè. Cho đến nay GPE vẫn là quán cơm nóng canh sốt. Tuy rằng cái vụ ruồi nhặng thì có vẻ đang trên đà tăng.
Mỗi diễn đàn mỗi cách hoạt động khác nhau. GPE "hiện tại" hoạt động dựa trên những bài hỏi đáp giữa những thành viên có nhu cầu và quảng cáo. TuhocVBA.net hoạt động dựa trên các bài viết dịch thuật. Một bên hỏi đáp, một bên dịch thuật. Hai trường phái rất khác nhau nhưng có điểm chung là VBA và giúp ích cho người học. Chúng ta không thể so sánh được.
 
Lần chỉnh sửa cuối:

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
7,917
Được thích
9,261
Điểm
560

Locvo236

Thành viên mới
Tham gia ngày
11 Tháng hai 2020
Bài viết
10
Được thích
0
Điểm
13
Tuổi
23
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Range("B1:B10") Or Target.Range("C1:C10") Or Target.Range("D1:D10") Then

If Target.Value <> "" Then

ActiveSheet.Unprotect "123"

Target.Locked = True

ActiveSheet.Protect "123"

End If

End If

End Sub

VẪN BỊ LỖI BẠN Ạ GIÚP MÌNH VỚI NHA
 

CHAOQUAY

Thành viên tích cực
Tham gia ngày
24 Tháng tám 2018
Bài viết
873
Được thích
864
Điểm
360
Mỗi diễn đàn mỗi cách hoạt động khác nhau. GPE "hiện tại" hoạt động dựa trên những bài hỏi đáp giữa những thành viên có nhu cầu và quảng cáo. TuhocVBA.net hoạt động dựa trên các bài viết dịch thuật. Một bên hỏi đáp, một bên dịch thuật. Hai trường phái rất khác nhau nhưng có điểm chung là VBA và giúp ích cho người học. Chúng ta không thể so sánh được.
Bạn có quen thành viên @khongtu19bk ở đường dẫn trên không vậy?
 

snow25

Thành viên gắn bó
Tham gia ngày
24 Tháng bảy 2018
Bài viết
2,462
Được thích
2,321
Điểm
360
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Range("B1:B10") Or Target.Range("C1:C10") Or Target.Range("D1:D10") Then

If Target.Value <> "" Then

ActiveSheet.Unprotect "123"

Target.Locked = True

ActiveSheet.Protect "123"

End If

End If

End Sub

VẪN BỊ LỖI BẠN Ạ GIÚP MÌNH VỚI NHA
Bạn thử nhé.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B1:D10")) Is Nothing Then
        If Len(Target.Value) > 0 Then
            ActiveSheet.Unprotect 123
                 Target.Locked = True
            ActiveSheet.Protect 123
        End If
     End If
End Sub
 
Top Bottom