Tổng hợp nhiều files vào 1 sheet, sau đó phân tách dữ liệu theo form sẵn có (6 người xem)

Liên hệ QC

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

bigbabol89

Thành viên thường trực
Tham gia
15/10/12
Bài viết
225
Được thích
34
Em chào các anh chị,
Em có 1 vấn đề như sau cần mong các anh chị giúp em ạ.
1. Tổng hợp & Phân tách
- Em cần tổng hợp các files vào sheet ALL ( tại file FULL ).
- Sau đó sẽ phân tách dữ liệu vừa tổng hợp đó thành 2 sheet mẫu
2. Chuyển đổi dữ liệu từ hàng dọc sang hàng ngang
- Tại sheet IT2003 khi thay đổi giá trị ở cột E, ấn click thì nó cũng update tại sheet ALL ạ.
Em có ghi note ở trong file đính kèm ( file FULL )
Em cám ơn.
 

File đính kèm

Em chào các anh chị,
Em có 1 vấn đề như sau cần mong các anh chị giúp em ạ.
1. Tổng hợp & Phân tách
- Em cần tổng hợp các files vào sheet ALL ( tại file FULL ).
- Sau đó sẽ phân tách dữ liệu vừa tổng hợp đó thành 2 sheet mẫu
2. Chuyển đổi dữ liệu từ hàng dọc sang hàng ngang
- Tại sheet IT2003 khi thay đổi giá trị ở cột E, ấn click thì nó cũng update tại sheet ALL ạ.
Em có ghi note ở trong file đính kèm ( file FULL )
Em cám ơn.
1/ Tất cả các files phải nằm cùng 1 Folder, khai báo các files con vào file FULL, cột A sheet ALL
2/ Không làm được vì cột ID, Object trong file ALL trùng nhau LuXuBu làm sao biết cập nhật lại dòng nào.
 

File đính kèm

1/ Tất cả các files phải nằm cùng 1 Folder, khai báo các files con vào file FULL, cột A sheet ALL
2/ Không làm được vì cột ID, Object trong file ALL trùng nhau LuXuBu làm sao biết cập nhật lại dòng nào.
Cám ơn anh,
Có 1 số cái anh giúp em chỉnh lại với :
1/ Tổng hợp & Phân tách
- File ALL tổng hợp các file nhỏ theo điều kiện ngày của file ALL ( từ ngày đến ngày, cột E và F ) => nếu các file nhỏ không theo ngày thì cảnh báo và ngưng sub được không ạ.
- Ô C2, E2, G2 ở sheet Target + Actual sẽ theo sheet ALL.
- Ngày ở sheet Target + Actual ( hàng 3 ) cũng sẽ chạy theo giai đoạn của file ALL ( từ ngày đến ngày ) và hiển thị ngày thôi ạ ( dd ).
- Phần Object ở sheet Target + Actual sẽ lấy số thôi ạ, lấy số ngoài cùng bên trái phần Object.
2/ Phần chuyển đổi dọc sang ngang.
- Em xin lỗi vì file ví dụ của em có ID trùng nhau, em đã chỉnh lại không trùng nữa...anh làm giúp em với ạ.
Mong anh giúp em ạ
 

File đính kèm

Cám ơn anh,
Có 1 số cái anh giúp em chỉnh lại với :
1/ Tổng hợp & Phân tách
- File ALL tổng hợp các file nhỏ theo điều kiện ngày của file ALL ( từ ngày đến ngày, cột E và F ) => nếu các file nhỏ không theo ngày thì cảnh báo và ngưng sub được không ạ.
- Ô C2, E2, G2 ở sheet Target + Actual sẽ theo sheet ALL.
- Ngày ở sheet Target + Actual ( hàng 3 ) cũng sẽ chạy theo giai đoạn của file ALL ( từ ngày đến ngày ) và hiển thị ngày thôi ạ ( dd ).
- Phần Object ở sheet Target + Actual sẽ lấy số thôi ạ, lấy số ngoài cùng bên trái phần Object.
2/ Phần chuyển đổi dọc sang ngang.
- Em xin lỗi vì file ví dụ của em có ID trùng nhau, em đã chỉnh lại không trùng nữa...anh làm giúp em với ạ.
Mong anh giúp em ạ
Bạn xem file. Cố gắng giải thích cho người khác hiểu và đưa dữ liệu giống thật.
 

File đính kèm

Dạ " sâu sắc" thật đó anh.
Anh xem giúp em trong file nhé.
Em cám ơn.
- "Ý tưởng này em cũng mới nảy ra..." Chắc là sẽ không "nảy" nữa, hết rồi!
- Có code "chành bành" ra đủ 6 cột từ E đến J, cột nào làm bạn "chướng mắt" thì Hide nó đi cho nhẹ nhàng. Nếu muốn VBA hide nó luôn giùm bạn thì vầy: muốn hiện cột nào thì đánh dấu "x" vào cột N, bấm nút "GPE". Ngoài kiểu này ra thì tôi "làm biếng" rồi.
1/ Phần chuyển từ ngang sang dọc ( ALL - IT2003 ) : anh có thể giúp em cho ra nhiều trường thông tin theo cột cùng lúc như trên ko ạ ( có thể chọn trường hiện ra, nếu có giá trị tại từ ô N1 - N5 )
 

File đính kèm

Dạ hihi, vậy anh cho em hỏi em em chỉ lấy 3 cột ( E, F , G ) mà em chỉnh hoài mà không được.
Anh chỉ em sửa cho 2 sub đc ko ạ.
Em cám ơn
 
Hí hí, em mò ra được rồi. Một lần nữa cám ơn anh Ba Tê đã giúp đỡ em.
 
- "Ý tưởng này em cũng mới nảy ra..." Chắc là sẽ không "nảy" nữa, hết rồi!
- Có code "chành bành" ra đủ 6 cột từ E đến J, cột nào làm bạn "chướng mắt" thì Hide nó đi cho nhẹ nhàng. Nếu muốn VBA hide nó luôn giùm bạn thì vầy: muốn hiện cột nào thì đánh dấu "x" vào cột N, bấm nút "GPE". Ngoài kiểu này ra thì tôi "làm biếng" rồi.
1/ Phần chuyển từ ngang sang dọc ( ALL - IT2003 ) : anh có thể giúp em cho ra nhiều trường thông tin theo cột cùng lúc như trên ko ạ ( có thể chọn trường hiện ra, nếu có giá trị tại từ ô N1 - N5 )
Cái này em tưởng mò được mà không thành công, em ấn click mà 2 hàng cuối nó đè trắng hết. Em chỉ muốn up dữ liệu ngược lại 3 cột đầu ( E, F, G ). Anh giúp em với.
Mã:
Public Sub Update_All()
Dim Dic As Object, sArr(), dArr(), tArr(), I As Long, J As Long, N As Long, ID As String
Dim eDate As Long, fDate As Long, CoL As Long, Rws As Long, R As Long, R2 As Long, C As Long
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Sheets("IT2003").Range("A2", Sheets("IT2003").Range("A2").End(xlDown)).Resize(, 7).Value
With Sheets("ALL")
    fDate = .Range("E2").Value
    eDate = .Range("F2").Value
    For J = fDate To eDate
        C = C + 1
        Dic.Item(J) = C
    Next J
    tArr = .Range("B6", .Range("B6").End(xlDown)).Value
    R2 = UBound(tArr)
    ReDim dArr(1 To R2, 1 To C)
    For I = 1 To R2 Step 6
        ID = tArr(I, 1)
        Dic.Item(ID) = I
    Next I
    R = UBound(sArr)
    For I = 1 To R
        ID = sArr(I, 1)
        Rws = Dic.Item(ID)
        CoL = Dic.Item(sArr(I, 2))
        For J = 0 To 2
            dArr(Rws + J, CoL) = sArr(I, J + 5)
        Next J
    Next I
    .Range("G6").Resize(R2, C) = dArr
    MsgBox "UPDATE xong.", , "Cam on GPE!"
End With
End Sub
 
Cái này em tưởng mò được mà không thành công, em ấn click mà 2 hàng cuối nó đè trắng hết. Em chỉ muốn up dữ liệu ngược lại 3 cột đầu ( E, F, G ). Anh giúp em với.
Cứ đánh mấy dấu "x" vào cột N tùy bạn.
Đến bài #10 đã hoàn thành theo tất cả những ý tưởng "mới nảy ra" của bạn rồi.
Thay đổi xoành xoạch chắc không ai theo mãi được.
 
Web KT

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

Back
Top Bottom