Code copy vùng dữ liệu theo hai tham số (1 người xem)

Liên hệ QC

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

octieu_kg

Thành viên mới
Tham gia
11/11/11
Bài viết
12
Được thích
8
Nhờ mọi người giúp em tạo code có thể copy vùng dữ liệu từ sheet1 sang sheet2 với hai tham số cho ở sheet2.
Thanks!
 

File đính kèm

Nhờ mọi người giúp em tạo code có thể copy vùng dữ liệu từ sheet1 sang sheet2 với hai tham số cho ở sheet2.
Thanks!
Thử thế này coi đúng không
PHP:
Private Sub CommandButton1_Click()
Set sh = Sheets("data")
[a6:c13].ClearContents
If [b2] = "A" Then
    If [b3] = 1 Then
       sh.[a4:c13].Copy [a6]
    ElseIf [b3] = 2 Then
        sh.[d4:f13].Copy [a6]
    ElseIf [b3] = 3 Then
        sh.[g4:i13].Copy [a6]
    End If
ElseIf [b2] = "B" Then
    If [b3] = 1 Then
       sh.[a21:c30].Copy [a6]
    ElseIf [b3] = 2 Then
        sh.[d21:f30].Copy [a6]
    ElseIf [b3] = 3 Then
        sh.[g21:i30].Copy [a6]
    End If
End If
End Sub
 
Upvote 0
Nhờ mọi người giúp em tạo code có thể copy vùng dữ liệu từ sheet1 sang sheet2 với hai tham số cho ở sheet2.
Thanks!
Thêm 1 code nữa cho dễ chọn lựa:
PHP:
Private Sub CommandButton1_Click()
Dim Rng(), Dong As Long, Cot As Long, Cao As Long, DK1 As Variant, DK2 As Variant
    DK1 = Sheets("KQ").[B2].Value
    DK2 = Sheets("KQ").[B3].Value
            Dong = Application.WorksheetFunction.Match(DK1, Sheets("DATA").[A1:A100], 0) + 3
        Cot = Application.WorksheetFunction.Match(DK2, Sheets("DATA").[A2:Z2], 0)
    Cao = Sheets("DATA").Range(Sheets("DATA").Cells(Dong, Cot), Sheets("DATA").Cells(Dong, Cot).End(xlDown)).Rows.Count
            Rng = Sheets("DATA").Cells(Dong, Cot).Resize(Cao, 3).Value
        Sheets("KQ").[A6].Resize(100, 3).ClearContents
    Sheets("KQ").[A6].Resize(Cao, 3).Value = Rng
End Sub
 
Upvote 0
Thử thế này coi đúng không
PHP:
Private Sub CommandButton1_Click()
Set sh = Sheets("data")
[a6:c13].ClearContents
If [b2] = "A" Then
    If [b3] = 1 Then
       sh.[a4:c13].Copy [a6]
    ElseIf [b3] = 2 Then
        sh.[d4:f13].Copy [a6]
    ElseIf [b3] = 3 Then
        sh.[g4:i13].Copy [a6]
    End If
ElseIf [b2] = "B" Then
    If [b3] = 1 Then
       sh.[a21:c30].Copy [a6]
    ElseIf [b3] = 2 Then
        sh.[d21:f30].Copy [a6]
    ElseIf [b3] = 3 Then
        sh.[g21:i30].Copy [a6]
    End If
End If
End Sub

Thanks! quanghai1969 nhiều, cách của anh rất dễ hiểu đối với một người mới học VBA như mình.
Có điều là, dữ liệu của mình rất nhiều, file chỉ là ví dụ nên mình đã xóa bớt nếu với số liệu nhiều như vậy làm hàm if chắc chít mất. Có cách nào cho nhiều dữ liệu nữa ko?
 
Upvote 0
Thêm 1 code nữa cho dễ chọn lựa:
PHP:
Private Sub CommandButton1_Click()
Dim Rng(), Dong As Long, Cot As Long, Cao As Long, DK1 As Variant, DK2 As Variant
    DK1 = Sheets("KQ").[B2].Value
    DK2 = Sheets("KQ").[B3].Value
            Dong = Application.WorksheetFunction.Match(DK1, Sheets("DATA").[A1:A100], 0) + 3
        Cot = Application.WorksheetFunction.Match(DK2, Sheets("DATA").[A2:Z2], 0)
    Cao = Sheets("DATA").Range(Sheets("DATA").Cells(Dong, Cot), Sheets("DATA").Cells(Dong, Cot).End(xlDown)).Rows.Count
            Rng = Sheets("DATA").Cells(Dong, Cot).Resize(Cao, 3).Value
        Sheets("KQ").[A6].Resize(100, 3).ClearContents
    Sheets("KQ").[A6].Resize(Cao, 3).Value = Rng
End Sub
Cảm ơn anh Ba Tê rất nhiều, đúng là code em đang cần!
 
Upvote 0
Web KT

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

Back
Top Bottom