Tạo một Crosstab? Bảng trong Excel
Xin chào,
Dữ liệu trên bảng tính của tôi trông như thế này:
Tên ngăn kéo | DocTypeName |
HR-1100 Edu Svcs | Kỹ năng hàng năm |
HR-1100 Edu Svcs | Đăng kí |
HR-1100 Edu Svcs | Danh sách kiểm tra kỹ năng CPR |
HR-1100 Edu Svcs | Tài liệu bậc thang lâm sàng |
HR-1100 Sức khỏe nhân viên | Danh sách kiểm tra kỹ năng CPR |
HR-1100 Sức khỏe nhân viên | Hình thức kết hợp |
HR-1100 Sức khỏe nhân viên | Đồng ý/Yêu cầu |
Tôi muốn nó trông như thế này:
HR-1100 Edu Svcs | HR-1100 Sức khỏe nhân viên |
Kỹ năng hàng năm | Danh sách kiểm tra kỹ năng CPR |
Đăng kí | Hình thức kết hợp |
Danh sách kiểm tra kỹ năng CPR | Đồng ý/Yêu cầu |
Tài liệu bậc thang lâm sàng |
Tôi đã thử một bảng tổng hợp nhưng tất cả những gì nó muốn làm là tính toán. Chuyển đổi dữ liệu cũng không hoạt động. Bất kỳ ý tưởng? Cảm ơn.
Trả lời:
Sử dụng macro này:
Sub TwoColDBtoCrossTab()
Dim rngC As Range
Dim rngTable As Range
Dim shtCT dưới dạng bảng tính
Đặt rngTable = Range("A1").CurrentRegion
Đặt shtCT = Worksheets.Add
shtCT.Name = "Tab chéo"
Đặt rngTable = rngTable.Offset(1, 0).Resize _
(rngTable.Rows.Count - 1, rngTable.Columns.Count)
Đối với mỗi rngC Trong rngTable.Columns(1).Cells
Nếu IsError(Application.Match(rngC.Value, shtCT.Range("1:1"), False)) Thì
shtCT.Cells(1, shtCT.Columns.Count).End(xlToLeft)(1, 2).Value = rngC.Value
kết thúc nếu
rngC tiếp theo
Đối với mỗi rngC Trong rngTable.Columns(2).Cells
shtCT.Cells(shtCT.Rows.Count, Application.Match(rngC(1, 0).Value, shtCT.Range("1:1"), False)).End(xlUp)(2).Value = rngC. Giá trị
rngC tiếp theo
shtCT.UsedRange.EntireColumn.AutoFit
shtCT.Range("A:A").Xóa
kết thúc phụ
Comments
Post a Comment