Chuyển data từ dạng hàng (nằm ngang) sang dạng cột (nằm dọc)
Hi mọi người,
Mình đang làm file cho đồ án tốt nghiệp, mình muốn chuyển dữ liệu được trình bài ở dạng hàng ngang sang định dạng hàng dọc. Ở sheet data, các mã sản phẩm (151,152,…) đang nằm ngang và đóng vai trò là header còn số lượng của nó ứng với từng mã khách hàng (100387, 101704) thì đang được trình bày theo hàng ngang trong table. Mình muốn chuyển các mã sản phẩm về hàng dọc (như sheet issue) và ứng với từng dòng sẽ là số lượng của nó và mã khách hàng tương ứng.
Nhờ các cao nhân chỉ giáo!!!
Bạn dùng VBA nhé
Cách dùng: Alt-F11 mở cửa sổ VBA, Insert/Module
Dán code vô.
Tại sheet Issue, insert 1 shape làm button, chuột phải shape, chọn assign macro rồi chọn sub chuyendoi.
Nhấn vô nút này để chạy kết quả.
Lưu file dạng. xlsm
Option Explicit
Sub chuyendoi()
Dim lr&, lc&, i&, j&, k&, rng, res(1 To 10000, 1 To 4)
With Sheets("Data")
lr = .Cells(Rows.Count, "A").End(xlUp).Row
lc = .Cells(1, Columns.Count).End(xlToLeft).Column
rng = .Range("A1", .Cells(lr, lc)).Value
For i = 2 To UBound(rng)
For j = 3 To UBound(rng, 2)
If rng(i, j) > 0 Then
k = k + 1
res(k, 1) = i – 1
res(k, 2) = rng(1, j)
res(k, 3) = rng(i, j)
res(k, 4) = rng(i, 1)
End If
Next
Next
End With
Range("A2:D10000").ClearContents
If k > 0 Then Range("A2").Resize(k, 4).Value = res
End Sub
www.giaiphapexcel.com/diendan/threads/chuy%E1%BB%83n-data-t%E1%BB%AB-d%E1%BA%A1ng-h%C3%A0ng-n%E1%BA%B1m-ngang-sang-d%E1%BA%A1ng-c%E1%BB%99t-n%E1%BA%B1m-d%E1%BB%8Dc.165105/
Xây dựng Lương 3P, KPI cho Doanh nghiệp
Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...
Xem khóa học