Giúp mình ghép các Sheet thành 1 Sheet tổng hợp

Liên hệ QC

nahiep79

Thành viên mới
Tham gia
3/8/09
Bài viết
14
Được thích
1
Mình có một có một vấn đề xin được các bạn giúp đỡ. Mình có một file thống kê trong đó các sheet có cùng một cấu trúc. Minh muốn tổng hợp các sheet này thành một sheet tổng hợp. Và dữ liệu bên trong được sắp xếp theo cột " Ngày trả tiền ". Mình gửi file đính kèm theo các bạn giải quyết giúp mình.
Xinh chân thành cảm ơn !!
 

File đính kèm

  • THONG KE BOI THUONG TU 01.8.09 DEN T12.09.rar
    25.6 KB · Đọc: 304
Chỉnh sửa lần cuối bởi điều hành viên:
Mình có một có một vấn đề xin được các bạn giúp đỡ. Mình có một file thống kê trong đó các sheet có cùng một cấu trúc. Minh muốn tổng hợp các sheet này thành một sheet tổng hợp. Và dữ liệu bên trong được sắp xếp theo cột " Ngày trả tiền ". Mình gửi file đính kèm theo các bạn giải quyết giúp mình.
Xinh chân thành cảm ơn !!
Bạn gửi lại file có 1 ít dữ liệu giả lập cũng được, file của bạn không có dữ liệu lười xem quá.
 
Upvote 0
GGiúp mình ghép các Sheet thành 1 Sheet tổng hợp

Cảm ơn bạn đã giúp đỡ mình. Mình gửi lại cho bạn file có dữ liệu thực tế !! Mong được bạn giúp đỡ mình sớm.
 

File đính kèm

  • THONG KE BOI THUONG TU 01.8.09 DEN T12.09.rar
    31.3 KB · Đọc: 209
Upvote 0
Các bạn giúp mình sắp xếp theo cột Ngày nhập hồ sơ nhé. Xin chân thành cảm ơn !!
 
Upvote 0

File đính kèm

  • Tong Hop Sheet.rar
    24.7 KB · Đọc: 1,054
Upvote 0
Chào bạn domfootwear !!
Rất cảm ơn bạn đã giúp đỡ mình !! Code của bạn mình dùng ổn rồi nhưng có một số vấn đề mình mong muốn bạn giúp đỡ mình thêm :
- Trong Sheet Tonghop minh đã bị mất tiêu đề của các mục
- Các danh sách nhập vào Sheet không được sắp xếp theo thứ tự tăng dần theo cột ngày nhập hồ sơ.
Mình chân thành cảm ơn những gì bạn đã giúp mình !!
Mong được bạn giúp đỡ sớm !
Thân !
 
Upvote 0
Mình xin được bổ xung thêm là :
- Cột STT không cần ghép tổng hợp các sheet.
- Bạn có thể nhúng Code vào Sheet tổng hợp để không phải thêm sheet Chinh và nút nhấn. Mỗi khi nhấn vào Sheet TongHop là tự động tổng hợp.
- Quá trình tổng hợp sheet không quét qua sheet TONG_HOP_BT_Theo_NV để tổng hợp. Sheet này được giữ nguyên.
Mình làm phiền bạn nhiều quá thông cảm cho mình.
Thân.
 

File đính kèm

  • Tong_Hop_Sheet.rar
    25.8 KB · Đọc: 397
Upvote 0
Mình có một file thống kê trong đó các sheet có cùng một cấu trúc. Minh muốn tổng hợp các sheet này thành một sheet tổng hợp. Và dữ liệu bên trong được sắp xếp theo cột " Ngày trả tiền ". Mình gửi file đính kèm theo các bạn giải quyết giúp mình.
Xinh chân thành cảm ơn !!

Các trang tính này không có cùng cấu trúc;

Không tin bạn thử chạy macro này sẽ rõ:
PHP:
Option Explicit
Sub TKBoiThuong()
 Dim Sh As Worksheet, jJ As Byte 
 For Each Sh In ThisWorkbook.Worksheets
   If Left(Sh.[A1], 1) = "S" And Sh.Name <> "TongHop" Then
      MsgBox Sh.Name
   Else
   End If
 Next Sh
End Sub

Khi đó trong hộp thoại trao đổi với máy sẽ không có 2 tên trang tính cần tổng hợp số liệu.. . (!)

Ngoài ra bạn còn ẩn 1 số trang tính quả là quá ngại với chúng vì có tên bất thường.

Thêm chú ý: Tên các trang tính không nên có khoảng trắng, một khi bạn vẫn khoái làm việc với các trang tính bằng macro;
Tất nhiên việc này không làm bạn phiền toái chút nào;
Thay vì bạn dùng 'Tong hop', ta có thể dùng 'TongHop' & thay vì 'nop phi _ha_' ta nên 'NopPhiHa', . . . . ('TONG HOP BT theo NV' chỉ nên là: THBTtheoNV' là cùng)
 
Upvote 0
Macro của bạn để gom dữ liệu vô 'TongHop' đây

Minh muốn tổng hợp các sheet này thành một sheet tổng hợp. Và dữ liệu bên trong được sắp xếp theo cột " Ngày trả tiền ". Mình gửi file đính kèm theo các bạn giải quyết giúp mình.
Xin chân thành cảm ơn !!
Nhưng vẫn có điều nhắc bạn là:
Không thể xếp theo ngày trả tiền vì bạn đã không nghiêm túc thêm đầy đủ ngày trả tiền này trong các trang tính của nhân viên! (Bạn cần biết tiết kiệm thời gian của mình & của mọi người hơn chút nữa!)

PHP:
Option Explicit
Sub TKBoiThuong()
 Dim Sh As Worksheet
 Dim Col  As Byte:                        Dim eRw As Long
 
 Sheets("TongHop").Select
 [B2].CurrentRegion.Offset(2, 1).ClearContents
 Col = [iV1].End(xlToLeft).Column
 
 For Each Sh In ThisWorkbook.Worksheets
       If Left(Sh.[A1], 1) = "S" And Sh.Name <> "TongHop" Then
                eRw = Sh.[b65500].End(xlUp).Row
                If eRw > 2 Then
                        [b65500].End(xlUp).Offset(1).Resize(eRw, Col).Value = _
                                Sh.[b3].Resize(eRw, Col).Value
                End If
            Else
        End If
 Next Sh
End Sub
 
Upvote 0
Thân gửi ChanhTQ@ !
Cảm ơn bạn đã giúp đỡ mình. Mong bạn hãy dành thời gian xem lại những vấn đề mình đã sửa và cập nhập tiếp theo. Rất vui vì được bạn giúp đỡ.
Thân.
 
Upvote 0
Thân gửi ChanhTQ@ !
Cảm ơn bạn đã giúp đỡ mình. Mong bạn hãy dành thời gian xem lại những vấn đề mình đã sửa và cập nhập tiếp theo. Rất vui vì được bạn giúp đỡ.
Thân.
Bạn xem lại file mình đã sửa theo ý bạn coi có đúng ý chưa nhé
 

File đính kèm

  • Tong Hop Sheet2.rar
    28.1 KB · Đọc: 419
Upvote 0
Chào bạn domfootwear !!
Mình rất cảm ơn bạn vì những gì bạn đã giúp đỡ mình. File của mình chạy đã rất ổn rồi. Mong lần sau có gì bạn giúp đỡ mình nhiều. Xin chân thành cảm ơn bạn.
Thân gửi bạn !!
 
Upvote 0
mình co 1 file excel co 7sheet giống nhau.giờ mình muôn lấy dữ liệu từ 7 sheet do ve sheet tổng hợp.
mà mình chỉ lấy những cột mình lựa chọn mong cac huynh giúp đỡ.
minh gửi file đính kèm theo vao da tô màu đỏ những cột mình muốn lấy của 7 sheet đó
 

File đính kèm

  • Tong Hop Sheet.xls
    74 KB · Đọc: 30
Upvote 0
mình co 1 file excel co 7sheet giống nhau.giờ mình muôn lấy dữ liệu từ 7 sheet do ve sheet tổng hợp.
mà mình chỉ lấy những cột mình lựa chọn mong cac huynh giúp đỡ.
minh gửi file đính kèm theo vao da tô màu đỏ những cột mình muốn lấy của 7 sheet đó
Bạn dùng code sau nhé:

[GPECODE=sql]Sub Union_HLMT()
Set adoConn = CreateObject("ADODB.Connection")
Set adoRS = CreateObject("ADODB.Recordset")
With adoConn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
.Open
End With
var1 = ""
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [GIANG$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HOA$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HA$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [TUAN$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HUY$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HIEP$A2:V1000] "
With adoRS
.ActiveConnection = adoConn
.Open var1
End With
With Sheets("tonghop")
.[A2:AP65000].ClearContents
.[A2].CopyFromRecordset adoRS
End With
adoRS.Close: Set adoRS = Nothing
adoConn.Close: Set adoConn = Nothing

End Sub
[/GPECODE]
 

File đính kèm

  • Tong Hop Sheet.xls
    90.5 KB · Đọc: 82
Upvote 0
mình co 1 file excel co 7sheet giống nhau.giờ mình muôn lấy dữ liệu từ 7 sheet do ve sheet tổng hợp.
mà mình chỉ lấy những cột mình lựa chọn mong cac huynh giúp đỡ.
minh gửi file đính kèm theo vao da tô màu đỏ những cột mình muốn lấy của 7 sheet đó
Thêm 1 lựa chọn cho bạn.
PHP:
Sub tonghop()
Dim sh As Worksheet, TH As Worksheet
Set TH = Sheets("tonghop")
For Each sh In Worksheets
   If sh.Name <> "tonghop" Then
      sh.UsedRange.Offset(1).Copy TH.[A65536].End(3)(2)
   End If
Next
Union(TH.[B:B], TH.[E:H], TH.[J:K], TH.[M:V]).Delete
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm 1 lựa chọn cho bạn.
PHP:
Sub tonghop()
Dim sh As Worksheet, TH As Worksheet
Set TH = Sheets("tonghop")
For Each sh In Worksheets
   If sh.Name <> "tonghop" Then
      sh.UsedRange.Offset(1).Copy TH.[A65536].End(3)(2)
   End If
Next
Union(TH.[B:B], TH.[E:H], TH.[J:K], TH.[M:V]).Delete
End Sub
Anh code này chạy lần 2,3... thì nó xoá hết đó
 
Upvote 0
thank cac bạn nhiều. thuc ra file chinh cu minh la file này sao minh copy vao no ko chạy được thế các bạn.mong các bạn giúp lại mình
 

File đính kèm

  • Tong Hop Sheet.xls
    170 KB · Đọc: 38
Upvote 0
thank cac bạn nhiều. thuc ra file chinh cu minh la file này sao minh copy vao no ko chạy được thế các bạn.mong các bạn giúp lại mình

Ngay từ đầu phải chi bạn đưa dữ liệu thật lên thì đỡ cho mọi người.
Bạn chạy code sau nhé:

[GPECODE=sql]Sub Union_HLMT()
Set adoConn = CreateObject("ADODB.Connection")
Set adoRS = CreateObject("ADODB.Recordset")
With adoConn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
.Open
End With
Dim var1 As String, i As Integer
For i = 1 To 6
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [" & Sheets(i).Name & "$A8:L1000] " & vbCrLf
var1 = var1 & "WHERE F3 IS NOT NULL " & vbCrLf
var1 = var1 & "UNION ALL" & vbCrLf
Next
With adoRS
.ActiveConnection = adoConn
.Open Left(var1, Len(var1) - 11)
End With
With Sheet1
.[A3:E65000].ClearContents
.[A3].CopyFromRecordset adoRS
End With
adoRS.Close: Set adoRS = Nothing
adoConn.Close: Set adoConn = Nothing

End Sub


[/GPECODE]
 
Upvote 0
thank bạn nhiều.nhưng ban ơi mình chỉ muốn lấy những ô mình tô đỏ thôi thi code sao bạn.code cua ban thi no lay hêt luôn
 
Upvote 0
thank bạn nhiều.nhưng ban ơi mình chỉ muốn lấy những ô mình tô đỏ thôi thi code sao bạn.code cua ban thi no lay hêt luôn

Yêu cầu của bạn lạ quá, tôi không hiểu ý muốn của bạn như thế nào, xin lỗi tôi đã làm mất thời gian của bạn. Bạn chờ người khác giúp nhé.
 
Upvote 0
Web KT
Back
Top Bottom