Giúp em cách chia một hàng nhiều cột thành nhiều hàng

Liên hệ QC

nguyenluan96

Thành viên mới
Tham gia
22/3/19
Bài viết
2
Được thích
0
Mọi người ơi giúp em với ạ.

Như file đính kèm, em có một bảng tính toàn số liệu gồm 51 cột và 81 hàng.
Em muốn số liệu hiển thị chỉ giới hạn trong 16 cột đầu tiên thôi (tức đến hết cột P), các số liệu còn lại đằng sau sẽ xuống các hàng mới ngay phía dưới.
Kiểu mỗi 1 hàng ban đầu sẽ tạo ra 3 hàng 16 cột và 1 hàng 3 cột có chứa số liệu vậy.
Từ 81 hàng, tổng cộng tạo thành 81x4=324 hàng sau khi ngắt.

214635

Em cảm ơn ạ!
 

File đính kèm

  • Vidu.xlsx
    61.4 KB · Đọc: 6
Như file đính kèm, em có một bảng tính toàn số liệu gồm 51 cột và 81 hàng.
Từ 81 hàng, tổng cộng tạo thành 81x4=324 hàng sau khi ngắt.
Thử:
Mã:
Public Sub TachHang()
Dim i As Long, j As Long, cc As Long
Dim r As Long, c As Long, k As Long
Dim a, b
a = Sheet1.UsedRange.Value
r = UBound(a, 1)
c = UBound(a, 2)
ReDim b(1 To r * 4, 1 To 16)
For i = 1 To r
    cc = 0
    k = k + 1
    For j = 1 To c
        If cc = 16 Then
             k = k + 1
             cc = 1
        Else
            cc = cc + 1
        End If
        b(k, cc) = a(i, j)
    Next j
Next i
If k > 0 Then Sheet2.Range("A1").Resize(k, 16) = b
 
End Sub
 
Thử:
Mã:
Public Sub TachHang()
Dim i As Long, j As Long, cc As Long
Dim r As Long, c As Long, k As Long
Dim a, b
a = Sheet1.UsedRange.Value
r = UBound(a, 1)
c = UBound(a, 2)
ReDim b(1 To r * 4, 1 To 16)
For i = 1 To r
    cc = 0
    k = k + 1
    For j = 1 To c
        If cc = 16 Then
             k = k + 1
             cc = 1
        Else
            cc = cc + 1
        End If
        b(k, cc) = a(i, j)
    Next j
Next i
If k > 0 Then Sheet2.Range("A1").Resize(k, 16) = b

End Sub

Code chạy tốt em cảm ơn ạ!
 
Web KT
Back
Top Bottom