Cách tự động cập nhật giá trị của cell giữa các sheet với nhau (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

KhoiLe12

Thành viên mới
Tham gia
22/9/21
Bài viết
27
Được thích
2
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
 

File đính kèm

Lần chỉnh sửa cuối:
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.
Chắc là đính kèm file cụ thể đầu vào vùng nào ở sheet nào, đầu ra vùng nào sheet nào thì có lẽ nhanh có đáp án hơn
 
Upvote 0
Web KT

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

Back
Top Bottom