VBA Copy theo thứ tự cột từ ngày 1 đến ngày 31

Liên hệ QC

hoangtran1176

Thành viên mới
Tham gia
30/7/22
Bài viết
31
Được thích
12
Mình có 1 vùng dữ liệu H3:p19, muốn copy vùng dữ liệu đó paste theo thứ tự từ ngày 1 đến ngày 31 tương ứng với các cột.
Rất mong hỗ trợ từ mọi người.
Thánks
 

File đính kèm

  • Book1.xlsx
    23.6 KB · Đọc: 6
Bạn có thể nói rõ hơn được không?
Ý là mình muốn copy vùng dữ liệu A định sẵn trên fie đính kèm paste xuống theo từng ngày, VD ngày 1 copy vùng A paste xuống ngày 1, ngày 2 copy vùng dữ liệu A pâste ngày 2, Nhưng không xoá dữ liệu của ngày 1, Tương tự các ngày tiếp theo.
 

File đính kèm

  • Book1.xlsx
    24.6 KB · Đọc: 4
Upvote 0
Mình có 1 vùng dữ liệu H3:p19, muốn copy vùng dữ liệu đó paste theo thứ tự từ ngày 1 đến ngày 31 tương ứng với các cột.
Rất mong hỗ trợ từ mọi người.
Thánks
Không biết đoán trúng không!?
Bạn mình thử code dưới nhé!
Mã:
Sub Dien_Dl()
Dim Rng As Range, j As Integer
With Sheet13
    Set Rng = .Range("H3:J19")
    For j = 3 To 95 Step 3
        If .Cells(21, j).Value = .Cells(2, 7).Value Then
            Rng.Copy
            .Cells(24, j).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
        End If
    Next j
End With
Set Rng = Nothing
End Sub
 

File đính kèm

  • Book1.xlsb
    26.5 KB · Đọc: 9
Upvote 0
Không biết đoán trúng không!?
Bạn mình thử code dưới nhé!
Mã:
Sub Dien_Dl()
Dim Rng As Range, j As Integer
With Sheet13
    Set Rng = .Range("H3:J19")
    For j = 3 To 95 Step 3
        If .Cells(21, j).Value = .Cells(2, 7).Value Then
            Rng.Copy
            .Cells(24, j).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
        End If
    Next j
End With
Set Rng = Nothing
End Sub
Mình cảm ơn bạn nhiều nha, đúng rồi đó ạ
 
Upvote 0
Không biết đoán trúng không!?
Bạn mình thử code dưới nhé!
Mã:
Sub Dien_Dl()
Dim Rng As Range, j As Integer
With Sheet13
    Set Rng = .Range("H3:J19")
    For j = 3 To 95 Step 3
        If .Cells(21, j).Value = .Cells(2, 7).Value Then
            Rng.Copy
            .Cells(24, j).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
        End If
    Next j
End With
Set Rng = Nothing
End Sub
Nhờ bạn có thể giúp mình file này được không (1file khác), mình chỉnh code của bạn từ file kia áp vào file này nhưng bị lỗi. CŨng tương tự nhập theo ngày ạ.
Mình cảm ơn nhiều.
 

File đính kèm

  • Book2.xlsx
    74.4 KB · Đọc: 4
Upvote 0

File đính kèm

  • Book2.xlsb
    26.9 KB · Đọc: 14
Upvote 0
Upvote 0
Upvote 0
Cảm ơn bạn nhiều nha, cho mình hỏi tại sao mình copy code của bạn vào 1 file khác thì nó ko được vậy bạn.
Bạn mình phải sửa các thông số đúng thì nó mới chạy được.
Chẳng hạn: Tên sheet, địa chỉ vùng, ô lấy dữ liệu...
Tiện thể: ở GPE nên sử dụng 1 thứ tiếng thôi bạn mình ha!
_+)(9
 
Upvote 0
Nếu ngày các cột không trùng nhau và theo thứ tự như thế thì dùng cái này cho gọn.
Mã:
Sub GPE()
    With Sheet4
        If .Range("AI3").Value2 > 0 And .Range("AI3").Value2 < 32 Then
            .Range("C4").Offset(, .Range("AI3").Value2).Resize(88).Value2 = .Range("AI4:AI91").Value2
        End If
    End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom