Code copy và paste giá trị

Liên hệ QC

yeu_excel

Thành viên chính thức
Tham gia
17/10/10
Bài viết
66
Được thích
4
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!
 

File đính kèm

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!

Bạn xem có đúng ý mình không nhé
 

File đính kèm

Upvote 0
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,...
2/ Chép code sau vào sheet TongHop
PHP:
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
 
Upvote 0
Cám ơn bạn hai bạn. Đúng ý mình rồi. Bạn Thunghi ơi, nhưng tên lớp của mình có thể thay đổi mà. Vậy xử lý thế nào đây?
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm một cách, chép code này vào sheet Tonghop
Mã:
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
 
Upvote 0
Cám ơn bạn hai bạn. Đúng ý mình rồi. Bạn Thunghi ơi, nhưng tên lớp của mình có thể thay đổi mà. Vậy xử lý thế nào đây?
Thì thêm 1 vòng lặp vậy.
PHP:
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
 
Upvote 0
Web KT

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

Back
Top Bottom