Chuyển data từ hàng dọc sang hàng ngang

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Lương Văn Tương

Thành viên mới
Tham gia
11/10/24
Bài viết
1
Được thích
0
Em cần chuyển dữ liệu từ Sheet BOM2 sang Sheet BOM, Data của F2 sang N8, G2 sang O8, H2 sang P8, F3 sang Q8, G3 sang R8, H3 sang S8 và tương tự các dòng bên dưới,..
Các Bác cho em xin chút kiến thức ạ
 

File đính kèm

  • PHIẾU CHỈ THỊ 2024 - Sao chép.xlsx
    1.1 MB · Đọc: 14
Bạn xem có đúng yêu cầu chưa nhé. Có thêm cột phụ cho dễ hơn.
 

File đính kèm

  • PHIẾU CHỈ THỊ 2024 - Sao chép.xlsx
    1.2 MB · Đọc: 8
Sub CopyData()
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim lastRow As Long
Dim i As Long

' Thiết lập các trang tính
Set wsSource = ThisWorkbook.Sheets("BOM2") ' Trang nguồn
Set wsTarget = ThisWorkbook.Sheets("BOM") ' Trang đích

' Xác định dòng cuối cùng có dữ liệu trong BOM2
lastRow = wsSource.Cells(wsSource.Rows.Count, "F").End(xlUp).Row

' Vòng lặp để sao chép dữ liệu
For i = 2 To lastRow ' Bắt đầu từ dòng 2
wsTarget.Cells(8, 14).Offset(0, i - 2).Value = wsSource.Cells(i, 6).Value ' F2 sang N8
wsTarget.Cells(8, 15).Offset(0, i - 2).Value = wsSource.Cells(i, 7).Value ' G2 sang O8
wsTarget.Cells(8, 16).Offset(0, i - 2).Value = wsSource.Cells(i, 8).Value ' H2 sang P8
wsTarget.Cells(8, 17).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 6).Value ' F3 sang Q8
wsTarget.Cells(8, 18).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 7).Value ' G3 sang R8
wsTarget.Cells(8, 19).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 8).Value ' H3 sang S8
Next i
End Sub
 
For i = 2 To lastRow ' Bắt đầu từ dòng 2
wsTarget.Cells(8, 14).Offset(0, i - 2).Value = wsSource.Cells(i, 6).Value ' F2 sang N8
wsTarget.Cells(8, 15).Offset(0, i - 2).Value = wsSource.Cells(i, 7).Value ' G2 sang O8
wsTarget.Cells(8, 16).Offset(0, i - 2).Value = wsSource.Cells(i, 8).Value ' H2 sang P8
wsTarget.Cells(8, 17).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 6).Value ' F3 sang Q8
wsTarget.Cells(8, 18).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 7).Value ' G3 sang R8
wsTarget.Cells(8, 19).Offset(0, i - 2).Value = wsSource.Cells(i + 1, 8).Value ' H3 sang S8
Next i
Dùng VBA cũng được nhưng phải thêm điều kiện vòng lặp. 1 Sản phẩm có nhiều lần nhập khác nhau.
 
Em cần chuyển dữ liệu từ Sheet BOM2 sang Sheet BOM, Data của F2 sang N8, G2 sang O8, H2 sang P8, F3 sang Q8, G3 sang R8, H3 sang S8 và tương tự các dòng bên dưới,..
Các Bác cho em xin chút kiến thức ạ
Bài này làm bàng VBA thì xử lý được, kể cả trường hợp 1 mã có nhiều lần nhập, nhưng khi chạy đến dòng 306 có C306=#N/A là vấp lỗi.
Không hiểu C306 có phải là kết quả tính toán mà có không hay là mã nó thế.
 
Web KT

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

Back
Top Bottom