Tự động nhân bản thêm dòng (copy thêm dòng) theo số chỉ định

Liên hệ QC

thanhhoadaica

Thành viên mới
Tham gia
8/5/09
Bài viết
30
Được thích
1
Xin chào diễn đàn GPE!!!
Mình đang tìm hiểu về excel, hiện tại mình đang muốn dùng excel để nhân bản thêm dòng theo số lượng được chỉ định như minh họa bên dưới:

[TABLE="width: 200, align: left"]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]5J8DW1-GREY[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]DND6X7-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]2[/TD]
[/TR]
[/TABLE]




[TABLE="width: 205"]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]5J8DW1-GREY[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X7-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]1[/TD]
[/TR]
[/TABLE]

Rất mong các bạn tư vấn giúp mình nhé!!!
 
Lần chỉnh sửa cuối:
Xin chào diễn đàn GPE!!!
Mình đang tìm hiểu về excel, hiện tại mình đang muốn dùng excel để nhân bản thêm dòng theo số lượng được chỉ định như minh họa bên dưới:
Rất mong các bạn tư vấn giúp mình nhé!!!
Bạn muốn thêm dòng vào bảng dữ liệu đã có sẵn, hay thêm vào khi nhập thêm dòng dữ liệu mới!!
 
Xin chào diễn đàn GPE!!!
Mình đang tìm hiểu về excel, hiện tại mình đang muốn dùng excel để nhân bản thêm dòng theo số lượng được chỉ định như minh họa bên dưới:

[TABLE="width: 200, align: left"]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]5J8DW1-GREY[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]DND6X7-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]2[/TD]
[/TR]
[/TABLE]




[TABLE="width: 205"]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]062GW2-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]19X231-SILVER[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]5J8DW1-GREY[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X3-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]DND6X7-BLACK[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]NX.MCJSV.002[/TD]
[TD]1[/TD]
[/TR]
[/TABLE]

Rất mong các bạn tư vấn giúp mình nhé!!!
Bạn đưa file lên nha!
 
Mình xuất ra từ hệ thống phần mềm có 2 cột
Cột 1: mã hàng
Cột 2: số lượng
Mình muốn excel sẽ tự động nhân bản thêm ví dụ: 2 dòng có thông tin mã hàng giống nhau nếu cột số lượng có số 2 hoặc nếu cột số lượng là số 3 thì sẽ có 3 dòng mã hàng giống nhau,…
 
Bạn ơi, mình dùng chức năng "Tải File Từ Máy" phải k? Mình up lên bạn xem giúp nhé, Thanks bạn
 

File đính kèm

Mình xuất ra từ hệ thống phần mềm có 2 cột
Cột 1: mã hàng
Cột 2: số lượng
Mình muốn excel sẽ tự động nhân bản thêm ví dụ: 2 dòng có thông tin mã hàng giống nhau nếu cột số lượng có số 2 hoặc nếu cột số lượng là số 3 thì sẽ có 3 dòng mã hàng giống nhau,…
Công thức thì mình hỏng biết nhưng nếu dùng VBA thì code khỏi cần test
PHP:
Sub RowInsert()
Dim Data(), Res(1 To 65536, 1 To 2), i, j, k
Data = Range([A1], [B65536].End(3)).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2)
      k = k + 1
      Res(k, 1) = Data(i, 1)
      Res(k, 2) = 1
   Next
Next
[C1].Resize(k, 2) = Res
End Sub
 
Mình xuất ra từ hệ thống phần mềm có 2 cột
Cột 1: mã hàng
Cột 2: số lượng
Mình muốn excel sẽ tự động nhân bản thêm ví dụ: 2 dòng có thông tin mã hàng giống nhau nếu cột số lượng có số 2 hoặc nếu cột số lượng là số 3 thì sẽ có 3 dòng mã hàng giống nhau,…
Tôi đã làm sẵn 1 file cho bạn, bạn coi sheet hướng dẫn
 

File đính kèm

Dạ cảm ơn anh quanghai1969, em xin xác nhận là cách của anh nhẹ nhàng mà hiệu quả, giống như mổ nội soi vậy!!!!!!!!!!!!!!
 
Lần chỉnh sửa cuối:
Công thức thì mình hỏng biết nhưng nếu dùng VBA thì code khỏi cần test
PHP:
Sub RowInsert()
Dim Data(), Res(1 To 65536, 1 To 2), i, j, k
Data = Range([A1], [B65536].End(3)).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2)
      k = k + 1
      Res(k, 1) = Data(i, 1)
      Res(k, 2) = 1
   Next
Next
[C1].Resize(k, 2) = Res
End Sub
Bác có thể sửa cho em VBA nó ở đằng trước những dòng cần cóp có thêm những cột dữ liệu, thông tin như ngày tháng, kho hàng, và sau khi cop thì nó cũng cop luôn cả mấy dòng này không?
 
Công thức thì mình hỏng biết nhưng nếu dùng VBA thì code khỏi cần test
PHP:
Sub RowInsert()
Dim Data(), Res(1 To 65536, 1 To 2), i, j, k
Data = Range([A1], [B65536].End(3)).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2)
      k = k + 1
      Res(k, 1) = Data(i, 1)
      Res(k, 2) = 1
   Next
Next
[C1].Resize(k, 2) = Res
End Sub
Sao mình sao chép lại code mà bị lỗi nhỉ. Hướng dẫn mình
 

File đính kèm

  • 20230116_090035.jpg
    20230116_090035.jpg
    132.8 KB · Đọc: 24
Vùng màu vàng bị lỗi lệnh
Mã:
Sub RowInsert()
Dim Data(), Res(1 To 65536, 1 To 2), i, j, k
Data = Range([A1], [B65536].End(3)).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2) =>lệnh này ko chạy vba tô vàng
      k = k + 1
      Res(k, 1) = Data(i, 1)
      Res(k, 2) = 1
   Next
Next
[C1].Resize(k, 2) = Res
End Sub
 
Giờ em muốn mở rộng dữ liệu gồm 20 cột sau cột A. Vậy cần sửa code như nào nhờ anh hướng dẫn em với. Em Cảm ơn nhiều

ok và thanks cũng không lịch sự. Kể cả viết tắt dl
Giờ em muốn mở rộng dữ liệu gồm 20 cột sau cột A. Vậy cần sửa code như nào nhờ anh hướng dẫn em với. Em Cảm ơn nhiều
 
Giờ em muốn mở rộng dữ liệu gồm 20 cột sau cột A. Vậy cần sửa code như nào nhờ anh hướng dẫn em với. Em Cảm ơn nhiều
Bạn sửa thành:
Mã:
Data = Range([A1], [B65536].End(3)).Resize( ,20).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2)
      k = k + 1
        For m = 1 to 20
            Res(k, m) = Data(i, m)
        Next
   Next
Next
[Z1].Resize(k, 20) = Res
 
Bạn sửa thành:
Mã:
Data = Range([A1], [B65536].End(3)).Resize( ,20).Value
For i = 1 To UBound(Data)
   For j = 1 To Data(i, 2)
      k = k + 1
        For m = 1 to 20
            Res(k, m) = Data(i, m)
        Next
   Next
Next
[Z1].Resize(k, 20) = Res
E vừa thử code mới thấy báo lỗi Subscrip out of range. Vậy sửa như nào tiếp nhờ anh chỉ giùm ạ
 
Web KT

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

Back
Top Bottom