Mình muốn khi thay đổi giá trị một ô thì dữ liệu sẽ được copy ở trang tương ứng và paste giá trị vào trang tổng hợp. Vậy sử dụng code như thế nào. Các bạn xem file rồi giúp đỡ mình nha. Xin cám ơn!
1/ Đổi tên sh thành B1, B2,...Mình muốn khi thay đổi giá trị một ô thì dữ liệu sẽ được copy ở trang tương ứng và paste giá trị vào trang tổng hợp. Vậy sử dụng code như thế nào. Các bạn xem file rồi giúp đỡ mình nha. Xin cám ơn!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$4" Then
CopySh
End If
End Sub
Sub CopySh()
Dim MyRng As Range, shName As String
Sheets("TongHop").Select
shName = Range("M4").Value
With Sheets(shName)
Set MyRng = .Range("A3:K15")
End With
Range("A3:K15").Value = MyRng.Value
Set MyRng = Nothing
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$4" Then
[a2].CurrentRegion.Clear
Dim Sh As Worksheet, Vung As Range, I As Integer
For I = 1 To 5
Set Sh = Sheets("A" & I)
Set Vung = Sh.Range(Sh.[a2], Sh.[a2].End(xlDown)).Resize(, 11)
If Sh.[e1] = [m4] Then [a2].Resize(Vung.Rows.Count, 11) = Vung.Value: Exit For
Next
End If
End Sub
Thì thêm 1 vòng lặp vậy.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$4" Then
CopySh
End If
End Sub
Sub CopySh()
Dim MyRng As Range, sLop As String
Dim Sh As Worksheet
Sheets("TongHop").Select
sLop = Range("M4").Value
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "TongHop" Then
With Sh
If .Range("E1").Value = sLop Then
Set MyRng = .Range("A3:K15")
GoTo exit_for
End If
End With
End If
Next Sh
exit_for:
Range("A3:K15").Value = MyRng.Value
Set MyRng = Nothing
End Sub