TỔNG HỢP DỮ LIỆU TỪ NHIỀU SHEET TRONG MỘT FILE

Mình có nhu cầu tổng hợp dữ liệu từ nhiều sheet về sheet "Tổng hợp", nhưng mình không có cách nào để làm nhanh, mà phải nhập công thức từng dòng trong sheet "tổng hợp" (Row 11 trong sheet "Tổng hợp" là nhu cầu của mình, mình phải nhập công thức từng cell, và các row khác cũng phải làm tương tự).

Các anh chị em có cách nào giải quyết vấnđề nhanh hơn, xin giúp em với. Em rất cảmơn !
 
B

bvtvba

Guest
Mình muốn gì thì nên nói rõ ra, nhìn cái file như này, tôi không hiểu row 11 bạn muốn làm gì.
Nên nói rõ ra cái mình muốn.
Còn nếu bạn muốn hỏi về đường lối, thì ở đây tôi thấy cũng có một ví dụ xử lý file có nhiều sheet.
Ở bài viết #16, code sử dụng array, dictionary cho tốc độ xử lý rất nhanh.
 
V

vothanhthu

Guest
Code nhỏ và đơn giản mong giúp ích được cho bạn
Mã:
Sub TongHop()
Dim i, j As Long
Application.ScreenUpdating = False
j = 10
For i = 2 To Worksheets.Count
        j = j + 1
        With Sheet1
            .Cells(j, 2).Value = Sheets(i).Name
            .Cells(j, 3).Value = Sheets(i).Cells(2, 3).Value
            .Cells(j, 4).Value = Sheets(i).Cells(4, 3).Value
            .Cells(j, 5).Value = Sheets(i).Cells(5, 3).Value
            .Cells(j, 12).Value = Sheets(i).Cells(8, 3).Value
            .Cells(j, 13).Value = Sheets(i).Cells(13, 5).Value
            .Cells(j, 15).Value = Sheets(i).Cells(13, 6).Value
            .Cells(j, 16).Value = Sheets(i).Cells(13, 7).Value
    End With
Next i
Application.ScreenUpdating = True
End Sub
 
Sửa lần cuối bởi điều hành viên:
Code nhỏ và đơn giản mong giúp ích được cho bạn
Mã:
Sub TongHop()
Dim i, j As Long
Application.ScreenUpdating = False
j = 10
For i = 2 To Worksheets.Count
        j = j + 1
        With Sheet1
            .Cells(j, 2).Value = Sheets(i).Name
            .Cells(j, 3).Value = Sheets(i).Cells(2, 3).Value
            .Cells(j, 4).Value = Sheets(i).Cells(4, 3).Value
            .Cells(j, 5).Value = Sheets(i).Cells(5, 3).Value
            .Cells(j, 12).Value = Sheets(i).Cells(8, 3).Value
            .Cells(j, 13).Value = Sheets(i).Cells(13, 5).Value
            .Cells(j, 15).Value = Sheets(i).Cells(13, 6).Value
            .Cells(j, 16).Value = Sheets(i).Cells(13, 7).Value
    End With
Next i
Application.ScreenUpdating = True
End Sub
Cảm ơn bạn nha
 
Top