Cách chuyển đổi bảng dữ liệu?
Xin cảm ơn!
Vì nhu cầu công việc nên mình cần chuyển một bảng dữ liệu có sẵn là Bảng A, sang dạng bảng khác là Bảng B và dữ liệu trùng khớp nhau. Như hình. Anh em nào biết chỉ giáo giúp mình với, ngồi mò 2 đêm nay rồi **~**
8066
Xin cảm ơn!
Cho code này vào và bấm 1 cái là xong đi ngủ ngon
Sub QH()
Dim data(), i, kq(1 To 65536, 1 To 3), j, k
data = Range(, .End(3)).Resize(, 5).Value
For i = 2 To UBound(data)
For j = 2 To 5
If data(i, j) > 0 Then
k = k + 1
kq(k, 1) = data(i, 1)
kq(k, 2) = data(1, j)
kq(k, 3) = data(i, j)
End If
Next
Next
.Resize(k, 3) = kq
End Sub
Cách này gọi là VBA nên phải Enable Macro mới xài được. Mở file lên có cái nút sẵn. Bấm 1 cái, nếu chưa có kết quả thì phải tìm cách Enable Macro nhá
www.giaiphapexcel.com/diendan/threads/c%C3%A1ch-chuy%E1%BB%83n-%C4%91%E1%BB%95i-b%E1%BA%A3ng-d%E1%BB%AF-li%E1%BB%87u.96002/
Khoá học Trưởng phòng nhân sự
Nguồn nhân lực là một trong Tứ trụ kinh doanh của doanh nghiệp, có tác động tới sự tồn tại và phát triển bền...
Xem khóa học
Đúng là tới 4 bài vẫn chưa chịu, vẫn còn muốn câu thêm ít nhất 1 bài nữa nè.
Vì chưa "giống hịch" kết quả mẫu của tác giả. (Chưa Sort).
Ẹc…
Dữ liệu của bạn chỉ có 23 cột thôi mà, sao bạn "Resize(, 448)" vậy, chỉ cần "Resize(, 23)" và "For j = 2 To 23"
1) Muốn tổng quát thì khai báo một biến là số cột ( thí dụ biến "iCot"), gán em này vào chỗ "Resize(,iCot)"
2) Nếu sử dụng Ex 2003, nên tính trước số lượng dòng của kết quả ( đếm trong vùng dữ liệu màu xanh những cell >0), gán vào biến "kq" để đề phòng số lượng dòng kết quả này vượt quá 65536