TỔNG HỢP DỮ LIỆU TỪ NHIỀU SHEET

mylinh22031

Thành viên mới
Tham gia ngày
23 Tháng mười hai 2016
Bài viết
49
Được thích
5
Điểm
165
các bác giúp em file này với ạ
Em đã chạy code vba nhưng nó 2 lại có 2 dòng tiêu đề trong sheet combine
và mỗi lần e nhập dữ liệu cho sheet "sale", "walkin" thì trong sheet "combine" không update
Với code thì mình sử dụng apple hay window đều dùng được hay sao ạ
Em cảm ơn các bác
 

File đính kèm

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,597
Được thích
8,380
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
các bác giúp em file này với ạ
Em đã chạy code vba nhưng nó 2 lại có 2 dòng tiêu đề trong sheet combine
và mỗi lần e nhập dữ liệu cho sheet "sale", "walkin" thì trong sheet "combine" không update
Với code thì mình sử dụng apple hay window đều dùng được hay sao ạ
Em cảm ơn các bác
Sửa code lại một tí.
Khi thêm dữ liệu hoặc thêm sheet nó tự xóa dữ liệu của sheet Combined từ dòng 3 trở xuống rồi mới gộp vào.
Mã:
Sub CopyNhieuSheet()
    Dim J As Long
    Application.ScreenUpdating = False
    Sheet1.Range("A1").CurrentRegion.Offset(2).ClearContents
    For J = 2 To Sheets.Count
        Sheets(J).Range("A1").CurrentRegion.Offset(2).Copy _
        Destination:=Sheet1.Range("A65536").End(xlUp).Offset(1)
    Next
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:

buiquangthuan

Thành viên thường trực
Tham gia ngày
17 Tháng mười hai 2010
Bài viết
294
Được thích
81
Điểm
395
Nơi ở
Bắc Ninh
các bác giúp em file này với ạ
Em đã chạy code vba nhưng nó 2 lại có 2 dòng tiêu đề trong sheet combine
và mỗi lần e nhập dữ liệu cho sheet "sale", "walkin" thì trong sheet "combine" không update
Với code thì mình sử dụng apple hay window đều dùng được hay sao ạ
Em cảm ơn các bác
Mã:
Sub TONGHOPDULIEU()
    Dim shAll As Worksheet
    Dim sh As Worksheet
    Dim count As Integer
    Dim lastrow As Long, EndR&
  
   
Set shAll = Worksheets("Combined")
    EndR = shAll.Range("A" & Rows.count).End(xlUp).Row
    shAll.Range("A4:BU" & EndR).ClearContents
    For Each sh In Worksheets
        If sh.Name <> shAll.Name Then
            count = count + 1
            If count = 1 Then
                sh.Range("A1:BU" & sh.Range("A" & Rows.count).End(xlUp).Row).Copy _
                shAll.Range("A2")
            Else
                sh.Range("A3:BU" & sh.Range("A" & Rows.count).End(xlUp).Row).Copy _
                shAll.Range("A" & lastrow + 1)
            End If
            lastrow = shAll.Range("A" & Rows.count).End(xlUp).Row
        End If
    Next sh
End Sub
Bạn thử cái này coi có đúng ý bạn không
 

File đính kèm

mylinh22031

Thành viên mới
Tham gia ngày
23 Tháng mười hai 2016
Bài viết
49
Được thích
5
Điểm
165
dạ em cảm ơn bác, vậy mỗi lần update là mình phải chạy lại marco ạ
 

buiquangthuan

Thành viên thường trực
Tham gia ngày
17 Tháng mười hai 2010
Bài viết
294
Được thích
81
Điểm
395
Nơi ở
Bắc Ninh

File đính kèm

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,597
Được thích
8,380
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
dạ em cảm ơn bác, vậy mỗi lần update là mình phải chạy lại marco ạ
Nếu dữ liệu các sheet nhiều thì nên nhấn nút sẽ hay hơn là tự động chạy code, vì mỗi lần thao tác code sẽ chạy làm chậm việc thao tác dữ liệu (nếu không muốn bực mình vì nó).
 

mylinh22031

Thành viên mới
Tham gia ngày
23 Tháng mười hai 2016
Bài viết
49
Được thích
5
Điểm
165
anh ơi, sao tới cột Bu là không chyaj được nữa vậy a
 
Top Bottom