[ Cần giúp ] Nhờ các bạn giúp chuyển dữ liệu giữa 2 sheet

  • Thread starter Thread starter batitus
  • Ngày gửi Ngày gửi
Liên hệ QC

batitus

Thành viên mới
Tham gia
7/12/09
Bài viết
20
Được thích
1
Mình có file khối lượng xắp xếp theo hàng từng cọc. ví dụ A1: Đao, đắp; A2: Đào, đắp.... mong mọi người giúp đỡ chuyển sang theo dạng cột
phân riêng, như các cọc sắp xếp theo hàng cọc, KL đào sắp xếp vào cột đào; khối lượng đắp xếp vào cột đắp..Xin chân thành cảm ơn
 

File đính kèm

Mình có file khối lượng xắp xếp theo hàng từng cọc. ví dụ A1: Đao, đắp; A2: Đào, đắp.... mong mọi người giúp đỡ chuyển sang theo dạng cột
phân riêng, như các cọc sắp xếp theo hàng cọc, KL đào sắp xếp vào cột đào; khối lượng đắp xếp vào cột đắp..Xin chân thành cảm ơn
Bạn chạy thử Code này nhé.
Mã:
Sub chuyendulieu()
    Dim arr, arr1, i As Long, j As Long, a As Long, lr As Long
    With Sheets("Sheet 1")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         arr = .Range("A1:C" & lr).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 5)
    End With
        For i = 1 To UBound(arr, 1) Step 5
            a = a + 1
            arr1(a, 1) = arr(i, 1)
            arr1(a, 2) = arr(i + 1, 1)
            arr1(a, 3) = arr(i + 2, 2)
            arr1(a, 4) = arr(i + 3, 2)
            arr1(a, 5) = arr(i + 4, 2)
        Next i
    With Sheets("sau chinh sua")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         If lr > 2 Then .Range("A2:E" & lr).ClearContents
         If a Then .Range("A2").Resize(a, 5).Value = arr1
   End With
End Sub
 
Upvote 0
Hix mình không rảnh lắm về excel. Bạn có thể hướng dẫn cụ thể việc chạy code này ko ?
 
Upvote 0
Em làm như sau: Mở files khoi luong lên, vào sheet ' sau chinh sua" bấm Alt + F11, dán code trên vào rồi bấm Run, nhưng ko thấy chạy gì cả. Em thử với sheet mới cũng như thế. Mong mọi người chỉ giáo. Chân thành cảm ơn
Bài đã được tự động gộp:

Bạn Bấm vào nút kết quả nhé.
Hix em gà quá. phiền bác chỉ em " nút kết quả" ở đâu. Mong bác thông cảm, em thực sự rất gà về excel.
 
Upvote 0
Em làm như sau: Mở files khoi luong lên, vào sheet ' sau chinh sua" bấm Alt + F11, dán code trên vào rồi bấm Run, nhưng ko thấy chạy gì cả. Em thử với sheet mới cũng như thế. Mong mọi người chỉ giáo. Chân thành cảm ơn
Bài đã được tự động gộp:


Hix em gà quá. phiền bác chỉ em " nút kết quả" ở đâu. Mong bác thông cảm, em thực sự rất gà về excel.
SR Bạn lúc nãy mình gửi thiếu.Bạn xóa cái cũ của bạn làm đi thì nó sẽ ra kết quả nhé.Bạn xem lại file trên.
 
Upvote 0
Em đã tạo được nút kết quả. Em lại có vấn đền là khi có nhiều khối lượng, em đã sửa code của bác, nhưng ko chạy được bác kiểm tra lại giúp em với. em gửi file có nhiều thành phần khối lượng. Thân !
 

File đính kèm

Upvote 0
Em đã tạo được nút kết quả. Em lại có vấn đền là khi có nhiều khối lượng, em đã sửa code của bác, nhưng ko chạy được bác kiểm tra lại giúp em với. em gửi file có nhiều thành phần khối lượng. Thân !
Dữ liệu của bạn phải đồng nhất mới được chứ.Có cọc 10 dòng,cọc 11 dòng thì sao code hiểu được.Bạn đưa dữ liệu chuẩn lên mình sửa nhé.Bạn chỉnh lại dữ liệu .
 
Upvote 0
Cảm ơn bác nha. em gửi lại file khoi luong. bên sheet '' Sau chinh sua'' bác chỉnh được như thế thì quá tốt. Thân ái !
 

File đính kèm

Upvote 0
Cảm ơn bác nha. em gửi lại file khoi luong. bên sheet '' Sau chinh sua'' bác chỉnh được như thế thì quá tốt. Thân ái !
Bạn chạy code này xem nhé.
Mã:
Sub chuyendulieu()
    Dim arr, arr1, i As Long, j As Long, a As Long, lr As Long
    With Sheets("Sheet 1")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         arr = .Range("A1:C" & lr).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 11)
    End With
    If UBound(arr, 1) Mod 11 Then MsgBox "dulieusai": Exit Sub
        For i = 1 To UBound(arr, 1) Step 11
            a = a + 1
            arr1(a, 1) = arr(i, 1)
            arr1(a, 2) = arr(i + 1, 1)
            arr1(a, 3) = arr(i + 2, 2)
            arr1(a, 4) = arr(i + 3, 2)
            arr1(a, 5) = arr(i + 4, 2)
            arr1(a, 6) = arr(i + 5, 2)
            arr1(a, 7) = arr(i + 6, 2)
            arr1(a, 8) = arr(i + 7, 2)
            arr1(a, 9) = arr(i + 8, 2)
            arr1(a, 10) = arr(i + 9, 2)
            arr1(a, 11) = arr(i + 10, 2)
            a = a + 1
        Next i
    With Sheets("sau chinh sua")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         If lr > 2 Then .Range("A2:k" & lr).ClearContents
         If a Then .Range("A2").Resize(a, 11).Value = arr1
   End With
End Sub
 
Upvote 0
Cảm ơn bác rất nhiều, code rất hay, công việc của mình cũng đỡ vất vả hơn rồi. nhưng có 1 thắc mắc là khi khối lượng không phải là 9 đầu mục mà ít hơn hoặc nhiều hơn thì mình sẽ sửa theo đơn vị ''11'' phải không ạ
 
Upvote 0
Cảm ơn bác rất nhiều, code rất hay, công việc của mình cũng đỡ vất vả hơn rồi. nhưng có 1 thắc mắc là khi khối lượng không phải là 9 đầu mục mà ít hơn hoặc nhiều hơn thì mình sẽ sửa theo đơn vị ''11'' phải không ạ
Bạn cứ test đi có mất gì đâu.Test sai lại hỏi.:D
 
Upvote 0
Web KT

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

Back
Top Bottom