Sắp xếp lại dữ liệu (từ bậc thang thành 1 cột) (2 người xem)

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

Người dùng đang xem chủ đề này

parkjun

Thành viên mới
Tham gia
12/10/12
Bài viết
43
Được thích
2
Chào các bạn,

Mình có 1 file xuất từ hệ thống, khi xuất ra thì data được sắp xếp theo dạng bậc thang (diễn tả chắc hơi khó hiểu nên mình có đính kèm file để các hình dung dễ hơn)
Cho mình hỏi là có cách nào để sắp xếp lại dữ liệu dọc thành 1 cột được không nhỉ?

Cảm ơn các bạn.
 

File đính kèm

Chào các bạn,

Mình có 1 file xuất từ hệ thống, khi xuất ra thì data được sắp xếp theo dạng bậc thang (diễn tả chắc hơi khó hiểu nên mình có đính kèm file để các hình dung dễ hơn)
Cho mình hỏi là có cách nào để sắp xếp lại dữ liệu dọc thành 1 cột được không nhỉ?

Cảm ơn các bạn.
Bạn thử code này.Dữ liệu của bạn bên sheets ketqua.
Mã:
Sub xapxep()
    Dim arr, i As Long, kq, lr As Long, lc As Long, b As Long, dk As String, j As Integer
    With Sheets("Original Data")
         lr = .Range("B" & Rows.Count).End(xlUp).Row
         arr = .Range("A2:KJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 7)
    End With
        dk = arr(1, 2)
        b = 0
        For i = 1 To UBound(arr)
            kq(i, 1) = arr(i, 1)
            kq(i, 2) = arr(i, 2)
            If dk <> arr(i, 2) Then
               b = b + 5
               dk = arr(i, 2)
            End If
            For j = 3 To 7
                kq(i, j) = arr(i, j + b)
            Next j
       Next i
   With Sheets("ketqua")
        lr = .Range("B" & Rows.Count).End(xlUp).Row
        If lr > 1 Then .Range("A2:G" & lr).ClearContents
        .Range("A2:G2").Resize(i - 1).Value = kq
   End With
End Sub
 

File đính kèm

Hi bạn,

File bạn làm chuẩn như lê duẩn luôn rồi. Cho mình hỏi là làm như thế nào nhỉ :) Mình hơi newbie :)

Cảm ơn bạn
 
Mình chạy thì nó báo như hình này, không biết là bị sao nhỉ
222811
 
mình gửi lại đoạn bị lỗi nhé
222828
 
Bạn thử lại nhé.
Mã:
Sub xapxep()
    Dim arr, i As Long, kq, lr As Long, lc As Long, b As Long, dk As String, j As Integer
    With Sheets("Original Data")
         lr = .Range("B" & Rows.Count).End(xlUp).Row
         lc = .Cells(1, Columns.Count).End(xlToLeft).Column
         arr = .Range("A2:A" & lr).Resize(, lc).Value
         ReDim kq(1 To UBound(arr), 1 To 7)
    End With
        dk = arr(1, 2)
        b = 0
        For i = 1 To UBound(arr)
            kq(i, 1) = arr(i, 1)
            kq(i, 2) = arr(i, 2)
            If dk <> arr(i, 2) Then
               b = b + 5
               dk = arr(i, 2)
            End If
            For j = 3 To 7
                kq(i, j) = arr(i, j + b)
            Next j
       Next i
   With Sheets("ketqua")
        lr = .Range("B" & Rows.Count).End(xlUp).Row
        If lr > 1 Then .Range("A2:G" & lr).ClearContents
        .Range("A2:G2").Resize(i - 1).Value = kq
   End With
End Sub
 
Mình thử chỉnh lại code theo cmt của bạn nhưng vẫn ra lỗi giống vậy, vẫn lỗi đoạn code cũ
222830

Cho mình note thêm chút là dữ liệu thực của mình dài hơn khá nhiều so với dữ liệu mình gửi lên nên ko biết có ảnh hưởng gì ko
Bài đã được tự động gộp:

Dear Snow25,

Mình thử lại nhưng vẫn bị lỗi đoạn code cũ
222835
 
Lần chỉnh sửa cuối:
Mình thử chỉnh lại code theo cmt của bạn nhưng vẫn ra lỗi giống vậy, vẫn lỗi đoạn code cũ
View attachment 222830

Cho mình note thêm chút là dữ liệu thực của mình dài hơn khá nhiều so với dữ liệu mình gửi lên nên ko biết có ảnh hưởng gì ko
Bài đã được tự động gộp:

Dear Snow25,

Mình thử lại nhưng vẫn bị lỗi đoạn code cũ
View attachment 222835
Bạn gửi file lên nhé.
 
Mình thử chỉnh lại code theo cmt của bạn nhưng vẫn ra lỗi giống vậy, vẫn lỗi đoạn code cũ
View attachment 222830

Cho mình note thêm chút là dữ liệu thực của mình dài hơn khá nhiều so với dữ liệu mình gửi lên nên ko biết có ảnh hưởng gì ko
Bài đã được tự động gộp:

Dear Snow25,

Mình thử lại nhưng vẫn bị lỗi đoạn code cũ
View attachment 222835
Thường thì nếu bị lỗi thì phải gởi file có code lỗi lên mới biết lý do lỗi.
Ai biết file thật của bạn thế nào so với code.
Thử với file này xem sao, File của bài #1 bên trên.
 

File đính kèm

Hi Snow25,

Mình gửi lại file mình đang làm nhé

Cảm ơn bạn.
Bài đã được tự động gộp:

Mình gửi lại file ở comment trên rồi nhé
 

File đính kèm

Hi Snow25,

Mình gửi lại file mình đang làm nhé

Cảm ơn bạn.
Bài đã được tự động gộp:

Mình gửi lại file ở comment trên rồi nhé
Bạn điền dữ liệu vào sheets Original Data rồi chạy nhé.Mình có thấy lỗi đâu.
 

File đính kèm

Đúng là không bị lỗi nhưng mà hiện nó chỉ tổng hợp được kết quả từ team 1 đến team 3, còn các team 4 trở đi không có kết quả.
 
Dữ liệu của bạn linh tinh lúc 4 lúc 5 nên nó bị vậy.Mà có chỗ còn không có dữ liệu.

Dear Snow25,

Mình đã thử lại file mà bạn gửi lại, phần kết quả đúng là chỉ đến Team 3, còn từ Team 4 trở đi không thấy có kết quả. Mình check thì thấy data phần Team 4, Team 5...vẫn giống với team 1,2,3. Nhờ bạn kiểm tra giúp mình nhé. Cảm ơn bạn.
 
Web KT

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

Back
Top Bottom