Sắp xếp dữ liệu nằm ngang thành cây thư mục dọc (5 người xem)

Liên hệ QC

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

grandia1986

Thành viên mới
Tham gia
7/3/10
Bài viết
5
Được thích
0
Mình có 1 file quản lý thời gian thực hiện HĐ, dữ liệu được xếp ngang bình thường. Mình muốn tạo một sheet khác, các dữ liệu được xếp dọc (giống cây thư mục trong window). Có cách nào điền dữ liệu từ sheet 1 qua cấu trúc giống sheet 2 một cách tự động được không?, ví dụ như có thể fill handle, autofill, hoặc thêm dòng table bên sheet 1 thì table bên sheet 2 cũng thêm dòng...
Sr nếu mình đặt câu hỏi nó chưa trọng tâm vì mình không rành excel lắm, chỉ là người quản lý giấy tờ cty :)
Các bạn có thể xem file kèm theo cho dễ hiểu
 

File đính kèm

Mình có 1 file quản lý thời gian thực hiện HĐ, dữ liệu được xếp ngang bình thường. Mình muốn tạo một sheet khác, các dữ liệu được xếp dọc (giống cây thư mục trong window). Có cách nào điền dữ liệu từ sheet 1 qua cấu trúc giống sheet 2 một cách tự động được không?, ví dụ như có thể fill handle, autofill, hoặc thêm dòng table bên sheet 1 thì table bên sheet 2 cũng thêm dòng...
Sr nếu mình đặt câu hỏi nó chưa trọng tâm vì mình không rành excel lắm, chỉ là người quản lý giấy tờ cty :)
Các bạn có thể xem file kèm theo cho dễ hiểu
Bạn chạy thử Code này xem
Mã:
Sub Caythumuc()
    Dim sArr, dArr, I As Long, K As Long, J As Long
    Dim Ncv As String, CV As String, Er As Long
Ncv = "Ng" & ChrW$(224) & "y b" & ChrW$(7855) & "t " & ChrW$(273) & ChrW$(7847) & "u c" & ChrW$(244) & "ng vi" & ChrW$(7879) & "c"
CV = "C" & ChrW$(244) & "ng vi" & ChrW$(7879) & "c"
With Sheet1
    Er = .Range("B65535").End(3).Row
    If Er < 2 Then Exit Sub
    sArr = .Range("A1:A" & Er).Resize(, 8).Value
End With
ReDim dArr(1 To UBound(sArr) * UBound(sArr, 2) / 2, 1 To 4)
For I = 2 To UBound(sArr)
    If sArr(I, 2) <> Empty Then
        K = K + 1
        dArr(K, 1) = sArr(I, 2)
        For J = 3 To UBound(sArr, 2) Step 2
            dArr(K, 2) = Replace(sArr(1, J), Ncv, CV)
            dArr(K, 3) = sArr(I, 3): dArr(K, 4) = sArr(I, 4)
            dArr(K, 3) = sArr(I, J): dArr(K, 4) = sArr(I, J + 1)
            K = K + 1
        Next J
    End If
Next I
Sheet2.Range("A2:A1500").Resize(, 4).ClearContents
Sheet2.Range("A2").Resize(K, 4) = dArr
End Sub
 
Dùng luôn sheet kết quả làm cấu trúc nhập dữ liệu.
 
To: @PacificPR mình không hiểu về lập trình code nên ko biết áp dụng thế nào
To @befaint tại mình tính dùng sheet 1 để mail merge nên không thể dùng theo cấu trúc của sheet 2 đc
 
tính dùng sheet 1 để mail merge nên không thể dùng theo cấu trúc của sheet 2 đc
Chuyển biểu mẫu trên Word sang một sheet trên file Excel đó rồi dùng hàm Vlookup() lấy thông tin từ sheet nhập dữ liệu vào. Thêm một đoạn macro in hàng loạt nữa. Phương án quá tuyệt.
 
Cảm ơn bạn, mình dùng Vlookup được rồi. Dù không hoàn hảo như mình hình dung. Tạo trước 1 bảng dùng vlookup, rồi fill handle bản đó xuống, dữ liệu tự động điền :D
 
Mình có 1 file quản lý thời gian thực hiện HĐ, dữ liệu được xếp ngang bình thường. Mình muốn tạo một sheet khác, các dữ liệu được xếp dọc (giống cây thư mục trong window). Có cách nào điền dữ liệu từ sheet 1 qua cấu trúc giống sheet 2 một cách tự động được không?, ví dụ như có thể fill handle, autofill, hoặc thêm dòng table bên sheet 1 thì table bên sheet 2 cũng thêm dòng...
Sr nếu mình đặt câu hỏi nó chưa trọng tâm vì mình không rành excel lắm, chỉ là người quản lý giấy tờ cty :)
Các bạn có thể xem file kèm theo cho dễ hiểu
Sử dụng Table với công cụ có sẳn trong Excel là xong, Bạn thử thay đổi sheet dữ liệu (thêm, bớt, sửa, xóa) rôi sang sheet1 click phải chuột vào dữ liệu rồi chọn Refresh (để xem kết quả thay đổi).
 

File đính kèm

Sử dụng Table với công cụ có sẳn trong Excel là xong, Bạn thử thay đổi sheet dữ liệu (thêm, bớt, sửa, xóa) rôi sang sheet1 click phải chuột vào dữ liệu rồi chọn Refresh (để xem kết quả thay đổi).
Sao cái table của bạn hay vậy?Chỉ mình thiết lập với
 
Web KT

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

Back
Top Bottom