Làm thế nào để bảng dữ liệu của em bao gồm 28 côt (sp) và 5 dòng (sl). chuyển thành 02 cột (sp) và (sl) thôi ạ. khi làm thủ công thì em copy từng dòng và paste Transpose khá lâu nên em viết code dưới, nhưng khi chạy thì dữ liệu chỉ hiển thị lần paste cuối cùng chứ không theo ý muốn ạ. Nhờ thầy kiểm tra giúp
Sub FILEKD_COPY_SOLUONG_NGANG_THANH_DOC()
'
' FILEKD_COPY_SOLUONG_NGANG_THANH_DOC Macro
'20 DONG
Sheet18.Select
Dim GH As Integer
Dim DC As Long
DC = Range("P1000").End(xlUp).Row + 1 'dòng cuối dữ liệu
For GH = 7 To Range("B5").Value + 7 - 1 Step Range("B5").Value ' dòng thứ 7 đến hết
'COPY TÊN SP
Range("C4:AD4").Select 'luôn cố định với số lần lặp lại
Application.CutCopyMode = False
Selection.Copy
Range("P" & DC).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
'------------------------------------------------
Range("C" & GH & ":AD" & GH).Select
Application.CutCopyMode = False
Selection.Copy
Range("R" & DC).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
'--------------------------------
Next GH
Range("P60").Select
End Sub
Chào bạn, bạn có thể đẩy file lên giúp gitiho không?
EM GỬI FILE Ạ
Chào bạn, bạn cho gitiho xin quyền truy cập nhé.
là sao ạ? Thầy không tải về được hay sao ạ?
Chào bạn bạn đọc bài này đẻ đẩy link lên nhé
https://gitiho.com/blog/huong-dan-upl...
và
https://thuthuat.taimienphi.vn/chia-s...
Chào bạn bạn đang muốn copy R61:R172 thành hàng từ C11:Ad11 nhé.
NGƯỢC LẠI Ạ. TỪ C7:AD7 CHO ĐẾN C11:AD11 VÀO CỘT R61 ẤY Ạ. EM CHO VÒNG LẶP CHẠY TỪ HÀNG 7 ĐẾN HÀNG 11 ĐỂ COPY VÀ PASTE, NHƯNG PHẦN PASTE KHÔNG NỐI TIẾP ĐƯỢC Ạ
Chào bạn, phần pates đó bạn cần tìm được dòng cuối cùng có dữ liệu rồi pates vào đúng không?
DẠ ĐÚNG Ạ.
VÌ SỐ LƯỢNG CÓ CÁI CÓ CÁI KHÔNG NÊN EM XÁC ĐỊNH DÒNG CUỐI TẠI TÊN SẢN PHẨM TẠI CỘT P DỮ LIỆU ĐỂ PASTE C4:AP4. (KHÔNG THAY ĐỔI CHO CÁC LẦN CHẠY SAU). SAU KHI PASTE XONG THÌ XÁC ĐỊNH DÒNG CUỐI+1 ĐỂ TIẾP TỤC PASTE Ạ
Dim DC As Long
DC = Range("P1000").End(xlUp).Row + 1 'dòng cuối dữ liệu
Choà bạn bạn cần code xác định cột cuối như sau
Sub LastColumnInOneRow()
'Find the last used column in a Row: row 1 in this example
Dim LastCol As Integer
LastCol = sheetname.Cells(1, .Columns.Count).End(xlToLeft).Column
End Sub
bạn căn cứ vào LastCol để copy dữ liệu nhé.
MÌNH BỊ VƯỚNG PHẦN PASTE Ý Ạ.
VD
EM COPY C4:AD4 XONG (CÓ 28 DÒNG)
EM PASTE LẦN 1 THÌ TẠI VỊ TRÍ LÀ P61.
LẦN 2 SẼ TẠI VỊ TRÍ LÀ P89
LẦN 3 SẼ TẠI VỊ TRÍ LÀ P116
Chào bạn phần lấy vị trí copy bạn sẽ tìm các dòng bên trai cuối cùng + 1 rồi copy vào đó là được nhé.