Em muốn gom dữ liệu từ 1 sheet của 1 file (có nhiều sheet) vào 1 sheet của 1 File mới

Liên hệ QC

chuotpt3

Thành viên hoạt động
Tham gia
10/5/07
Bài viết
122
Được thích
26
Em xin kính chào cả nhà,
Em đã đọc hết 7 trang của Thread này (http://www.giaiphapexcel.com/forum/...-1-file-không-cần-mở-file&p=743251#post743251) – nhưng thực sự chưa thấy có nội dung nào như nội dung em cần thực hiện sau đây để áp dụng – nên em đành mạo muội viết post này và các thông tin attach, xin kính nhờ cả nhà giúp em với:

– Em có 1 file tổng hợp – tên gọi #AToZ_Summary.xls → Lưu ở 1 Folder riêng
– Và các file chi tiết (cụ thể em attach ở đây là 8 file) → các file này lưu CHUNG ở 1 Folder riêng (không giống folder của File Summary nêu trên)

Em cần tổng hợp số liệu từ 1 sheet của các File Chi tiết này vào 1 Sheet "
[FONT=&quot]AToZ_Summary" [/FONT]trong File Summary như em ghi nhận Yêu cầu trong File Summary. Xin nói rõ là các File chi tiết sẽ có nhiều Sheet, không chỉ Sheet cần lấy thông tin (Sheet cần thông tin này có mã hiệu ABC) – nhưng em chỉ quan tâm cái Sheet cần lấy thông tin này mà thôi – các Sheet còn lại thì không sử dụng vào file Summary.

Em zip toàn bộ các File này vào chung 1 folder để cả nhà dễ hình dung.

Vậy em kính nhờ cả nhà giúp em với ạ – nội dung em thỉnh nhờ cả nhà là em đã ghi nhận trong Sheet "AToZ_Summary" của File #AToZ_Summary.xls rồi ạ

Trong link bên trên, em đã được thầy hpkhuong có code cho thông tin như yêu cầu, em chạy ADO cũng đúng như em mong trong Sheet AToZ như em paste vào file zip đây – nhưng thực sự em có ghi nhận bên trên là "File chi tiết sẽ có nhiều Sheet, không chỉ Sheet cần lấy thông tin (Sheet cần thông tin này có mã hiệu ABC) – nhưng em chỉ quan tâm cái Sheet cần lấy thông tin này mà thôi – các Sheet còn lại thì không sử dụng vào file Summary" và em cũng có nhờ thầy ấy cho em xin thêm 2 yêu cầu nữa là:

– Hiện tại các File lẻ AAA, BBB, ...... cần lấy số liệu này là em giả lập số để thông tin rõ ràng hơn chút – và các file này không chỉ có Sheet mà Thầy đã giúp lấy số liệu ấy, mà còn có các Sheet khác nữa – vậy khi chạy code này để lấy số liệu từ Sheet như Sheet em giả lập ấy, thì em ghi nhận TÊN GỌI Sheet này nhận dạng là Mã ABC thì code này chạy có đúng nữa không ạ?
– Và em cũng mong Thầy giúp em thiết kế 1 Button để chạy khi tổng hợp số liệu mà không phải vào ADO code chạy như hiện tại được không Thầy ơi?


Nhưng chắc là thầy ấy bận rộn quá nên em đành chuyển qua topic mới này để kính nhờ mọi người giúp em với ạ. Cũng hơi gấp gáp, nên em Kính mong cả nhà đọc tin và giúp em với.

File em attach em đã điều chỉnh theo comment Thầy hpkhuong ghi nhận trong link bên trên

Em rất cảm ơn cả nhà đã đọc tin và em mong tin cả nhà lắm ạ
Em chuotpt3
 

File đính kèm

  • AToZ_Summary.rar
    65.4 KB · Đọc: 16
Hic hic hic .... em mong tin cả nhà lắm lắm ạ!!!
Em đang gấp vì sắp cuối tháng cần thống kê số liệu ạ.

Em xin chân thành cảm ơn cả nhà đã đọc tin
Em
Chuotpt3
 
Upvote 0
Kính chào cả nhà, Em kính chào Thầy hpkhuong

Xin giúp đỡ em với các thông tin như em ghi nhận bên trên ạ.
Nếu thông tin nào chưa rõ xin góp ý để em bổ sung và làm rõ hơn ạ


Em chân thành cảm ơn cả nhà đọc tin
Chuotpt3
 
Upvote 0
Kính chào cả nhà, Em kính chào Thầy hpkhuong


Cuối tháng rồi em làm bằng tay, nhưng em vẫn xin nhờ cả nhà giúp đỡ em với các thông tin như em ghi nhận bên trên ạ.


Nếu thông tin nào chưa rõ xin góp ý để em bổ sung và làm rõ hơn.


Em chân thành cảm ơn cả nhà đọc tin
Chuotpt3
 
Upvote 0
Kính chào cả nhà, Em kính chào Thầy hpkhuong


Cuối tháng rồi em làm bằng tay, nhưng em vẫn xin nhờ cả nhà giúp đỡ em với các thông tin như em ghi nhận bên trên ạ.


Nếu thông tin nào chưa rõ xin góp ý để em bổ sung và làm rõ hơn.


Em chân thành cảm ơn cả nhà đọc tin
Chuotpt3

Xem file và đọc mong muốn của bạn mà không hiểu lắm.
Theo code của @hpkhuong thì sẽ lấy dữ liệu của sheet có tên sao cho trùng với khúc đầu của tên file
VD: Tên file: AAA_Chi tiet thì sẽ lấy dữ liệu sheet AAA, BBBb_Chi tiet -- BBBb.....

ko biết ý bạn muốn lấy đúng như thế ko? nếu không phải thì mình thấy file chi tiet có mỗi 1 sheet thì ko biết lối nào mà lần.

Bạn lấy dữ liệu ở những sheet mà B2 có chữ: Mã ABC?
 
Upvote 0
Dạ đúng vậy ạ, Mã ABC là ID – nên các Sheet sẽ được đặt như thế.
Thêm nữa, ý chuotpt3 là khi dùng sẽ không phải Alt-F11 để run code mà có 1 Button để mọi người click vào và run luôn ạ.

Xin chân thành cảm ơn Bạn quanluu1989 lắm lắm ạ
chuotpt3
 
Upvote 0
Dạ đúng vậy ạ, Mã ABC là ID – nên các Sheet sẽ được đặt như thế.
Thêm nữa, ý chuotpt3 là khi dùng sẽ không phải Alt-F11 để run code mà có 1 Button để mọi người click vào và run luôn ạ.

Xin chân thành cảm ơn Bạn quanluu1989 lắm lắm ạ
chuotpt3
Cái button thì đẽ không ấy mà, bạn insert cais button ra, rùi chuột phải chọn "Assign Macro" chọn sub là đc. Bạn có thể thay thế button bằng shape để trang trí cho đẹp. he
 
Upvote 0
Cái button thì đẽ không ấy mà, bạn insert cais button ra, rùi chuột phải chọn "Assign Macro" chọn sub là đc. Bạn có thể thay thế button bằng shape để trang trí cho đẹp. he

Nhờ bạn quanluu1989 giúp được không ạ? Cảm ơn bạn lắm lắm ạ
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ ...... chuotpt3 làm được rồi ......

Xin chân thành cảm ơn bạn quanluu1989 và thầy hpkhuong vô vàn ạ
 
Upvote 0
Kính chào thầy hpkhuong và bạn quanluu1989,
Do yêu cầu mới của sếp em/mình, anh sếp cần biết Tình trạng của các Mã ABC này đang ở trạng thái nào nên hiện tại:


1. Ở các file cần lấy dữ liệu mình thêm thông tin Status ở gần dữ liệu "Q"


2. Cột tình trạng này "bị yêu cầu" là phải nằm giữa cột "Q" và cột "Số tiền Ước" file Summary


Vậy, em/mình xin mến nhờ thầy hpkhuong và bạn quanluu1989 code lại giúp em/mình như yêu cầu này với ạ


Em/mình attach qua file .rar này các file lấy dữ liệu và file summary có tên gọi = #AToZ_Summary


Và em/mình Mong tin thầy hpkhuong và bạn quanluu1989 lắm lắm ạ
Em/mình xin chân thành đa tạ
chuotpt3
 

File đính kèm

  • Summary.rar
    85.6 KB · Đọc: 15
Upvote 0
Em rất mong tin thầy hpkhuong và bạn quanluu1989 lắm !!!

Kính báo
Em chuotpt3

 
Upvote 0
Mã:
Option Explicit


Public Sub RunSo()
Dim X As Variant, Y As Long, vFile As String, Wb As Workbook, Sh As Worksheet, tSheet As String
Dim sArr, dArr, I As Long, Dk As String, Dk1 As String, Dx As String, Dt As String, UGD, XHD, DTH
Dk = ChrW(272) & ChrW(7911) & " " & ChrW(272) & "i" & ChrW(7873) & "u ki" & ChrW(7879) & "n"
Dk1 = ChrW(272) & ChrW(7911) & " " & ChrW(273) & "k"
Dx = ChrW(272) & "ã xu" & ChrW(7845) & "t"
Dt = ChrW(272) & "ã thu"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
X = Application.GetOpenFilename(, , , , True)
ReDim dArr(1 To UBound(X), 1 To 13)
If Not IsArray(X) Then Exit Sub
For Y = 1 To UBound(X)
vFile = Replace(X(Y), "\", "", InStrRev(X(Y), "\"))
tSheet = Left(vFile, InStr(1, vFile, "_Ch") - 1)
    Set Wb = Workbooks.Open(X(Y))
    Set Sh = Wb.Sheets(tSheet)
        dArr(Y, 1) = Y: dArr(Y, 2) = Sh.[C2]: dArr(Y, 3) = Sh.[E2]
        dArr(Y, 4) = Sh.[G2]: dArr(Y, 5) = Sh.[J2]: dArr(Y, 6) = Sh.[C3]:
        dArr(Y, 7) = Sh.[E3]: dArr(Y, 8) = Sh.[G3]: dArr(Y, 9) = Sh.[I3]
        dArr(Y, 10) = Sh.[K3]
    sArr = Sh.Range("A13").CurrentRegion.Value
    UGD = 0: XHD = 0: DTH = 0
        For I = 2 To UBound(sArr)
            If sArr(I, 2) <> Empty Then
                If sArr(I, 6) = Dk Or sArr(I, 6) = Dk1 Then UGD = UGD + sArr(I, 5)
                If sArr(I, 7) = Dx Then XHD = XHD + sArr(I, 3)
                If sArr(I, 10) = Dt Then DTH = DTH + sArr(I, 3)
            End If
        Next I
        dArr(Y, 11) = UGD: dArr(Y, 12) = XHD: dArr(Y, 13) = DTH
    Wb.Close False
Next Y
    Range("A5").Resize(10, 13).ClearContents
    Range("A5").Resize(Y - 1, 13).Value = dArr
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Ui ...... em xin chân thành đa tạ Thầy hpkhuong vô vàn ạ ...
Em đã chạy được đúng như ý mong...

Xin cảm ơn Thầy một lần nữa....
Em
Chuotpt3
 
Upvote 0
Web KT
Back
Top Bottom