[HỎI] TÁCH 1 DÒNG THÀNH NHIỀU DÒNG

Liên hệ QC

lightknight90

Thành viên mới
Tham gia
28/5/14
Bài viết
14
Được thích
11
Em đang cần tách dữ liệu từ 1 dòng thành nhiều dòng như file đi kèm. Cụ thể: các ngày trên 1 dòng cần chuyển xuống dòng dưới (mỗi ngày tương ứng 1 dòng), các ô khác tự động copy xuống. Mong được các cao thủ giúp đỡ.
 

File đính kèm

Em đang cần tách dữ liệu từ 1 dòng thành nhiều dòng như file đi kèm. Cụ thể: các ngày trên 1 dòng cần chuyển xuống dòng dưới (mỗi ngày tương ứng 1 dòng), các ô khác tự động copy xuống. Mong được các cao thủ giúp đỡ.
Giải thích rõ xem nào bạn.Cái mà copy ra bao nhiêu dòng đó.
 
Upvote 0
Em đang cần tách dữ liệu từ 1 dòng thành nhiều dòng như file đi kèm. Cụ thể: các ngày trên 1 dòng cần chuyển xuống dòng dưới (mỗi ngày tương ứng 1 dòng), các ô khác tự động copy xuống. Mong được các cao thủ giúp đỡ.
Bạn chạy thử code này xem sao. Kết quả điền tại sheet2
Mã:
Sub TachDong()
Dim Nguon As Variant
Dim Kq() As Variant
Dim i, j, k, x, z, t
Nguon = Sheet1.Range("a2", Sheet1.Range("a2").End(xlDown)).Resize(, 37)
ReDim Kq(1 To UBound(Nguon) * 31 + 1, 1 To 7)
For j = 1 To 7
    Kq(1, j) = Sheet1.Cells(1, j).Value
Next j
k = 1
For i = 1 To UBound(Nguon)
    For j = 7 To UBound(Nguon, 2)
        If Nguon(i, j) = "" Then
            Exit For
        Else
            k = k + 1
            Kq(k, 7) = Nguon(i, j)
            For x = 1 To 6
                Kq(k, x) = Nguon(i, x)
            Next x
        End If
    Next j
Next i
With Sheet2
.UsedRange.ClearContents
.Range("a1").Resize(k, UBound(Kq, 2)) = Kq
.UsedRange.Columns.AutoFit
End With
End Sub
 
Upvote 0
Bạn chạy thử code này xem sao. Kết quả điền tại sheet2
Mã:
Sub TachDong()
Dim Nguon As Variant
Dim Kq() As Variant
Dim i, j, k, x, z, t
Nguon = Sheet1.Range("a2", Sheet1.Range("a2").End(xlDown)).Resize(, 37)
ReDim Kq(1 To UBound(Nguon) * 31 + 1, 1 To 7)
For j = 1 To 7
    Kq(1, j) = Sheet1.Cells(1, j).Value
Next j
k = 1
For i = 1 To UBound(Nguon)
    For j = 7 To UBound(Nguon, 2)
        If Nguon(i, j) = "" Then
            Exit For
        Else
            k = k + 1
            Kq(k, 7) = Nguon(i, j)
            For x = 1 To 6
                Kq(k, x) = Nguon(i, x)
            Next x
        End If
    Next j
Next i
With Sheet2
.UsedRange.ClearContents
.Range("a1").Resize(k, UBound(Kq, 2)) = Kq
.UsedRange.Columns.AutoFit
End With
End Sub
Bạn ơi có thể tổng quá hóa code trên phụ thuộc vào địa chỉ cột của active cell không? Ví dụ như mình đang ở ô nào đó của cột G, khi chạy code thì các cột sau cột G tự chuyển thành dòng ấy?
 
Upvote 0
Web KT

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

Back
Top Bottom