Nhờ các bác giải hộ bài toán khóa 1 vùng = VBA

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

thaivu

Thành viên mới
Tham gia
29/5/07
Bài viết
36
Được thích
1
Em đọc nhiều bài viết về vấn đề này nhưng thực hiện đều thất bại không hiểu vì sao
Rất mong các bác giúp đỡ.

Mong các bác đi trước làm hộ em 1 file dùng VBA có 2 đặc điểm sau:
- Một là:
Tại ô C1 khi em đánh chữ "v" thì nó sẽ khóa các ô A1, B1.
Nếu ai đó xóa nội dung hay ghi đè lên 2 ô kia thì nó mở alert thông báo "Bạn phải bỏ chữ v"

Khi em xóa chữ "v" thì có thể sửa các ô kia.

=============================
- Hai là:
Sau khi có ai đó sửa nội dung 2 ô A1, B1 thì ở ô D1 sẽ điền tên người sửa (lấy tên máy hoặc tên user name người dùng máy)

Cảm ơn các bác rất nhiều, vấn đề trên em đã nghiên cứu rất nhiều mà vẫn không giải quyết được, có thể một phần vì tiếng anh của em còn kém và trình độ tin học chưa đủ để hiểu
 
Tôi làm như vầy không biết có được không
 

File đính kèm

Quả là tuyệt vời, mình vừa down về test thấy hay quá
Giờ bắt đầu ngâm cứu,
Vào Giải pháp excel thấy kiến thức của mình thật nhỏ bé chỉ như giọt nước giữa biển rộng
Để em ứng dụng vào file của em, có gì em sẽ hỏi tiếp
Một lần nữa cảm ơn bác transongngocquan rất rất nhiều
 
Tôi làm như vầy không biết có được không
Lệnh của bạn viết rất được rồi, nhưng copy vào sheet như vậy nếu có ít sheet thì không sao

Như mình có nhiều sheet, muốn áp dụng như vậy sẽ phải copy vào từng sheet rất lâu, nhiều lúc phát sinh sheet mới nhỡ quên mất không hay

Bạn có cách nào copy những dòng VBA đó vào thisWorkBook trong VBA không,
Mình thử chuyển dòng đầu tiên thành
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Nhưng không chạy được hix!$@!!
 
Lệnh của bạn viết rất được rồi, nhưng copy vào sheet như vậy nếu có ít sheet thì không sao

Như mình có nhiều sheet, muốn áp dụng như vậy sẽ phải copy vào từng sheet rất lâu, nhiều lúc phát sinh sheet mới nhỡ quên mất không hay

Bạn có cách nào copy những dòng VBA đó vào thisWorkBook trong VBA không,
Mình thử chuyển dòng đầu tiên thành
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Nhưng không chạy được hix!$@!!
Bạn tạo trên 1 sheet rồi copy sheet (add)
 
Ý mình là làm trên workbook để không phải copy sang các sheet
Khi mình thay dòng đầu ở sheet, sau đó cut toàn bộ sang wọrkbook và chạy thì nó báo lỗi ở dòng
Application.Undo
Rất mong các bạn giúp đỡ
 
Lệnh của bạn viết rất được rồi, nhưng copy vào sheet như vậy nếu có ít sheet thì không sao

Như mình có nhiều sheet, muốn áp dụng như vậy sẽ phải copy vào từng sheet rất lâu, nhiều lúc phát sinh sheet mới nhỡ quên mất không hay

Bạn có cách nào copy những dòng VBA đó vào thisWorkBook trong VBA không,
Mình thử chuyển dòng đầu tiên thành
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Nhưng không chạy được hix!$@!!

Bạn cho đoạn mã sau đây vào sự kiện Workbook_SheetChange sẽ ]ợc thôi.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Range("C1").Value = "v" Then
If (Target.Address = "$A$1") Or (Target.Address = "$B$1") Then
MsgBox "Ban Phai bo chu v"
Application.Undo
End If
Else
Range("D1").Value = Application.UserName
End If
Application.EnableEvents = True
End Sub
 
bạn thay dòng đầu bằng:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Nó chạy, nhưng tôi e rằng làm chậm máy nếu không phải chỉ A1, B1, và C1
Còn nữa:
Lấy Application.UserName khi trong máy có nhiều người dùng sẽ cho kết quả là cùng 1 tên. Đó là tên khai báo khi cài đặt office, không phải User Account của Windows.
tất nhiên khi 1 user sử dụng Excel có thể đổi tên người dùng, nhưng không phải ai cũng biết làm và muốn làm.
 
Được rồi bác ạ, cảm ơn bác ạ. Em biết mỗi cái dòng phía trên, copy vào nó cứ báo lỗi dòng .undo
Giờ được rồi, để em ngâm cứu tiếp
 
Nhân tiện chủ đề này,mình cũng có 1 câu hỏi
Làm thế nào chỉ cho nhập liệu vào ô trống, những ô đã có dữ liệu thì ko cho nhập. Nếu nhập vào ô đã có dữ liệu thì hiện lên thông báo, có muốn thay đổi dữ liệu ko đồng thời hiện lên 1 form có nội dung: ngày giờ thay đổi dữ liệu, lý do thay đổi dữ liệu, tên người thay đổi dữ liệu và bảng này được nhập vào comment của ô đó.
 
Web KT

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

Back
Top Bottom