ôi khi trong công việc bạn muốn Excel tự động cập nhật dữ liệu vào các sheet khác khi một sheet quy định được cập nhật.
Giả sử bạn muốn khi thay đổi ô bất kỳ trong vùng "A1 : D15" của Sheet1 thì các ô tương ứng trong vùng "A1 : D15" của sheet 2, sheet3, sheet4 đều được tự cập nhật.
Cách đơn giản nhất là group các sheet đó lại thành nhóm ( Ctrl + Click chuột trái vào các Name Tab của Sheet). Sau khi đã được group lai trên thanh TitleBar sẽ có chữ "Group". Lúc này nếu bạn thay đổi ô bất kỳ "A1 : D15" ở tất cả các sheet đều được cập nhật.
Để "UnGroup" click chuột phải vào Name Tab và chọn Ungroup.
Cách này đơn giản nhưng phải mất công "nhớ" Group và Ungroup hơn nữa nếu không cẩn thận trong việc Group sẽ làm dữ liệu ở một sheet khác bị chép chồng.
Vây chúng ta hãy viết một đọan code đơn giản để group và Ungroup
1/ Để dễ nhớ vùng "A1 : D15" -AnhExcel đặt tên nó là "MyRange" ( Chon vùng "A1 : D15"/ Insert/Name/Define - hộp thọai Define Name xuất hiện- Ở ô "Names in Workbook" nhập "Myrange" / Chon Ok để xác nhận )
2/ Insert đoạn code sau vào private module của sheet1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("MyRange"), Target) Is Nothing Then
'Sheet5 has purposely been placed first as this will
'be the active sheet we will work from
Sheets(Array("Sheet1","Sheet4", "Sheet3", "Sheet2")).Select
Else
Sheets("Sheet1").Select
End If
End Sub
Để insert một đọan code vào private module bạn click chuột phải vào Sheet name Tab sau đó chọn View Code)
3/ Giờ bạn có thể test được rồi. Nếu bạn không thành công thì hãy download file mẫu tại đây
Giả sử bạn muốn khi thay đổi ô bất kỳ trong vùng "A1 : D15" của Sheet1 thì các ô tương ứng trong vùng "A1 : D15" của sheet 2, sheet3, sheet4 đều được tự cập nhật.
Cách đơn giản nhất là group các sheet đó lại thành nhóm ( Ctrl + Click chuột trái vào các Name Tab của Sheet). Sau khi đã được group lai trên thanh TitleBar sẽ có chữ "Group". Lúc này nếu bạn thay đổi ô bất kỳ "A1 : D15" ở tất cả các sheet đều được cập nhật.
Để "UnGroup" click chuột phải vào Name Tab và chọn Ungroup.
Cách này đơn giản nhưng phải mất công "nhớ" Group và Ungroup hơn nữa nếu không cẩn thận trong việc Group sẽ làm dữ liệu ở một sheet khác bị chép chồng.
Vây chúng ta hãy viết một đọan code đơn giản để group và Ungroup
1/ Để dễ nhớ vùng "A1 : D15" -AnhExcel đặt tên nó là "MyRange" ( Chon vùng "A1 : D15"/ Insert/Name/Define - hộp thọai Define Name xuất hiện- Ở ô "Names in Workbook" nhập "Myrange" / Chon Ok để xác nhận )
2/ Insert đoạn code sau vào private module của sheet1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("MyRange"), Target) Is Nothing Then
'Sheet5 has purposely been placed first as this will
'be the active sheet we will work from
Sheets(Array("Sheet1","Sheet4", "Sheet3", "Sheet2")).Select
Else
Sheets("Sheet1").Select
End If
End Sub
Để insert một đọan code vào private module bạn click chuột phải vào Sheet name Tab sau đó chọn View Code)
3/ Giờ bạn có thể test được rồi. Nếu bạn không thành công thì hãy download file mẫu tại đây
Sửa lần cuối: