Em chào mọi người, hiện tại em đang cần hoàn thành task trên Excel với yêu cầu: Khi nhập giá trị vào 1 ô của sheet1 thì giá trị đó sẽ được tự động cập nhật vào 1 ô của sheet2 và ngược lại. Hiện tại em có tìm hiểu thì được biết có thể xài Mirror Cell trong VBA, tuy nhiên em chỉ biết các Mirror Cell trong 1 sheet với code như sau:
Private Sub Worksheet_Change(ByVal Target As Range)
MirrorCell = False
Select Case Target.Address
Case "$D$3"
MirrorCell = "B7"
Case "$E$3"
MirrorCell = "B8"
Case "$F$3"
MirrorCell = "B9"
Case "$G$3"
MirrorCell = "B10"
Case "$H$3"
MirrorCell = "B11"
Case "$B$7"
MirrorCell = "D3"
Case "$B$8"
MirrorCell = "E3"
Case "$B$9"
MirrorCell = "F3"
Case "$B$10"
MirrorCell = "G3"
Case "$B$11"
MirrorCell = "H3"
End Select
If MirrorCell = False Then Exit Sub
Application.EnableEvents = False
Range(MirrorCell).Value = Target.Value
Application.EnableEvents = True
End Sub
Nếu sử dụng code như vậy thì hiện tại nếu em muốn mirror thêm ô nào thì em buộc phải nhập tay ô đó. Trong trường hợp em đang có một lượng ô rất lớn (khoảng vài trăm ô) cần mirror thì liệu có cách nào để làm thay vì nhập tay từng ô không ạ.
Em cảm ơn cả nhà, chúc cả nhà ngày mới tốt lành.
Update: Em đính kèm file demo, input range C4-C14 ở sheet1 sẽ output ra range C4-C14 ở sheet2 và ngược lại
Private Sub Worksheet_Change(ByVal Target As Range)
MirrorCell = False
Select Case Target.Address
Case "$D$3"
MirrorCell = "B7"
Case "$E$3"
MirrorCell = "B8"
Case "$F$3"
MirrorCell = "B9"
Case "$G$3"
MirrorCell = "B10"
Case "$H$3"
MirrorCell = "B11"
Case "$B$7"
MirrorCell = "D3"
Case "$B$8"
MirrorCell = "E3"
Case "$B$9"
MirrorCell = "F3"
Case "$B$10"
MirrorCell = "G3"
Case "$B$11"
MirrorCell = "H3"
End Select
If MirrorCell = False Then Exit Sub
Application.EnableEvents = False
Range(MirrorCell).Value = Target.Value
Application.EnableEvents = True
End Sub
Nếu sử dụng code như vậy thì hiện tại nếu em muốn mirror thêm ô nào thì em buộc phải nhập tay ô đó. Trong trường hợp em đang có một lượng ô rất lớn (khoảng vài trăm ô) cần mirror thì liệu có cách nào để làm thay vì nhập tay từng ô không ạ.
Em cảm ơn cả nhà, chúc cả nhà ngày mới tốt lành.
Update: Em đính kèm file demo, input range C4-C14 ở sheet1 sẽ output ra range C4-C14 ở sheet2 và ngược lại
File đính kèm
Lần chỉnh sửa cuối: