Copy dữ liệu thành nhiều dòng theo danh sách có sẵn

Liên hệ QC

brachiosaurus

Thành viên mới
Tham gia
15/6/17
Bài viết
27
Được thích
4
Giới tính
Nữ
Chào cả nhà! Hiện tại e có 1 vấn đề như sau: E muốn copy dữ liệu ở cột N và O vào cột C và D ở sheet abv DL, nhưng mỗi dòng ở cột N và O lại trải ra 88 dòng ở cột C và D. VD: Ô N2 sẽ copy và lặp lại từ ô C2 đến ô C89, O2 sẽ copy và lặp lại từ ô D2 đến ô D89 và tiếp đó N3 sẽ copy vào ô C90 và lặp lại đến tận C177, O3 lại sang D90 đến D177, cứ thế đến khi hết danh sách ở cột N và O kết thúc. Mọi người trợ giúp hộ e nhé. E có đính kèm file ở dưới ạ
 

File đính kèm

  • tem dich vu abv - Trang.xlsm
    1.1 MB · Đọc: 9
Chào cả nhà! Hiện tại e có 1 vấn đề như sau: E muốn copy dữ liệu ở cột N và O vào cột C và D ở sheet abv DL, nhưng mỗi dòng ở cột N và O lại trải ra 88 dòng ở cột C và D. VD: Ô N2 sẽ copy và lặp lại từ ô C2 đến ô C89, O2 sẽ copy và lặp lại từ ô D2 đến ô D89 và tiếp đó N3 sẽ copy vào ô C90 và lặp lại đến tận C177, O3 lại sang D90 đến D177, cứ thế đến khi hết danh sách ở cột N và O kết thúc. Mọi người trợ giúp hộ e nhé. E có đính kèm file ở dưới ạ
Chưa hiểu mục đích của bạn là gì nhưng 217 x 88 = 19.096 dòng thì quá là dữ
 
Upvote 0
Chào cả nhà! Hiện tại e có 1 vấn đề như sau: E muốn copy dữ liệu ở cột N và O vào cột C và D ở sheet abv DL, nhưng mỗi dòng ở cột N và O lại trải ra 88 dòng ở cột C và D. VD: Ô N2 sẽ copy và lặp lại từ ô C2 đến ô C89, O2 sẽ copy và lặp lại từ ô D2 đến ô D89 và tiếp đó N3 sẽ copy vào ô C90 và lặp lại đến tận C177, O3 lại sang D90 đến D177, cứ thế đến khi hết danh sách ở cột N và O kết thúc. Mọi người trợ giúp hộ e nhé. E có đính kèm file ở dưới ạ
Bạn chạy code này
PHP:
Sub copyxxx()
Dim arrS, i As Long, j As Long, k As Long

arrS = Range("N2:O" & Range("N" & Rows.Count).End(xlUp).Row).Value

ReDim arrD(1 To UBound(arrS, 1) * 88, 1 To 2)

For i = 1 To UBound(arrS, 1)
    For j = 1 To 88
        k = k + 1
        arrD(k, 1) = arrS(i, 1)
        arrD(k, 2) = arrS(i, 2)
    Next
Next
Range("C2").Resize(UBound(arrS, 1) * 88, 2).Value = arrD
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn chạy code này
PHP:
Sub copyxxx()
Dim arrS, i As Long, j As Long, k As Long

arrS = Range("N2:O" & Range("N" & Rows.Count).End(xlUp).Row).Value

ReDim arrD(1 To UBound(arrS, 1) * 88, 1 To 2)

For i = 1 To UBound(arrS, 1)
    For j = 1 To 88
        k = k + 1
        arrD(k, 1) = arrS(i, 1)
        arrD(k, 2) = arrS(i, 2)
    Next
Next
Range("C2").Resize(UBound(arrS, 1) * 88, 2).Value = arrD
End Sub
Mình phải làm bảng giá vận chuyển. mỗi 1 điểm đến và điểm đi lại có cước vận chuyển khác nhau. Mà mỗi nơi lại có 88 loại sản phẩm, mỗi sản phẩm cũng lại khác nữa luôn nên phải liệt kê ra hết. Rất cảm ơn bạn đã giúp đỡ. Code chạy rất hay
 
Upvote 0
Mình phải làm bảng giá vận chuyển. mỗi 1 điểm đến và điểm đi lại có cước vận chuyển khác nhau. Mà mỗi nơi lại có 88 loại sản phẩm, mỗi sản phẩm cũng lại khác nữa luôn nên phải liệt kê ra hết. Rất cảm ơn bạn đã giúp đỡ. Code chạy rất hay
Không có chi. Trường hợp này dùng biến mảng (array) là đúng kiểu và nhanh vô địch. Rất vui được giúp bạn!
 
Upvote 0
Web KT

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

Back
Top Bottom