- hình như test thử code của các bài ở trên vẫn chưa đạt yêu cầu ... , bạn nên đưa file có nội dung "gần giống" với thực tế để mọi người khỏi phải đoán ...
- khi số liệu nhiều thì code có thể khác xa so với số liệu ít (cứ nhìn cách ông Google tìm kiếm là hiểu được phần nào ... )
Không ý mình chỉ hỏi làm sao mọi thay đổi của người dùng tác động vào ô B2 thì có thể bố sung đoạn CODE nào để tự động chạy VBA ra kết quả bên dưới thôi.
Bình thường thì mình vẫn làm thủ công là trỏ vào ô B2 và enter thì mới hiện kết quả. <code tìm kiếm đã xong rồi, không cần thay đổi gì cả>.
Khoi
Dim tmpTarget As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B1,D1")) Is Nothing Then
Range("F1") = Range("F1") + 1
tmpTarget = Range("B2").Value
End If
End Sub
Private Sub Worksheet_Calculate()
If Range("B2").Value <> tmpTarget Then GPE_loc
End Sub
'Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub GPE_loc()
...
Dim tmpTarget As Variant
1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
2. If Not Intersect(Target, Range("B1,D1")) Is Nothing Then
3. Range("F1") = Range("F1") + 1
4. tmpTarget = Range("B2").Value
5. End If
6. End Sub
Private Sub Worksheet_Calculate()
If Range("B2").Value <> tmpTarget Then GPE_loc
End Sub
'Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub GPE_loc()
...
Dim tmpTarget As VariantPrivate
Sub Worksheet_Calculate()
If Range("B2").Value <> tmpTarget Then GPE_loc '<-- Tên thủ tục sẽ chạy khi B2 có biến động
End Sub