Tổng hợp thông tin từ các sheet khác nhau

  • Thread starter Thread starter akacic
  • Ngày gửi Ngày gửi
Liên hệ QC

akacic

Thành viên mới
Tham gia
11/3/08
Bài viết
3
Được thích
2
Xin chào các bác,

Em mới tập toẹ Macro và thử lập trình để tổng hợp dữ liệu từ các sheet khác nhau. Lúc đầu test để dữ liệu trong vùng từ cột A đến cột E thì mã chạy được nhưng sau đó phát triển các cells lên từ cột A đến cột Q thì mã ko chạy được nữa.

Em ko hiểu tại sao nên upload file em thử lên các bác kiểm tra và cho em ý kiến giúp đỡ nhé...

Em xin cảm ơn nhiều.
 

File đính kèm

Xin chào các bác,

Em mới tập toẹ Macro và thử lập trình để tổng hợp dữ liệu từ các sheet khác nhau. Lúc đầu test để dữ liệu trong vùng từ cột A đến cột E thì mã chạy được nhưng sau đó phát triển các cells lên từ cột A đến cột Q thì mã ko chạy được nữa.

Em ko hiểu tại sao nên upload file em thử lên các bác kiểm tra và cho em ý kiến giúp đỡ nhé...

Em xin cảm ơn nhiều.
Code không sai, bạn viết
Range("A2", [Q65536].End(xlUp)).Select
mà cột Q chỉ có Q1 có dữ liệu thì ......bạn bấm F8 cho code chạy "cà tưng" đến đoạn Range("A2", [Q65536].End(xlUp)).Select bôi màu vàng,bạn chọn sheet "aaa" xem vùng nào đang chọn thì sẽ hiểu ngay thôi
Đừng nói mã chạy không được. Tội nghiệp nó
Thân
 
Upvote 0
Mình hiểu rồi. Như vậy là bắt buộc column Q phải chứa dữ liệu thì mới copy được đúng không?

Tuy nhiên, Column Q là cột ghi chú, ko phải bắt buộc lúc nào cũng có thông tin được. Thế thì phải sửa code thế nào để nếu dòng trống không có thông tin Đầy Đủ vẫn copy được sang sheet tổng hợp
 
Upvote 0
Mình hiểu rồi. Như vậy là bắt buộc column Q phải chứa dữ liệu thì mới copy được đúng không?

Tuy nhiên, Column Q là cột ghi chú, ko phải bắt buộc lúc nào cũng có thông tin được. Thế thì phải sửa code thế nào để nếu dòng trống không có thông tin Đầy Đủ vẫn copy được sang sheet tổng hợp
Theo mình, thường trong bảng dữ liệu phải có một hoặc hơn một cột chứa đủ dữ liệu ( Thí dụ: Số thứ tự, Đơn giá.....)
Bạn lấy cột đó làm chuẩn (khai báo từ Cell bắt đầu đến cell cuối cùng có dữ liệu) kết hợp với Resize hoặc Offset & Resize để chọn vùng muốn copy
Thân
 
Upvote 0
Code của bạn báo lỗi do tại dòng lệnh số 7 thiếu & sửa lại như sau:

PHP:
Sub TongHop()
    Dim Wsh As Worksheet, Sh As Worksheet
    Dim lRow As Long
    
    Application.ScreenUpdating = False
    Set Sh = ActiveSheet
    [B1].CurrentRegion.Offset(1, 1).ClearContents
    
    For Each Wsh In ThisWorkbook.Sheets
        If Wsh.Name <> Sh.Name Then
              
7            Wsh.Range("A2", Wsh.[Q65536].End(xlUp)).Copy _
                Sh.Range("A" & Sh.[A65536].End(xlUp).Row + 1)
        End If
    Next Wsh
    Sh.Activate
    Range("A2", [Q65536].End(xlUp)).Sort [A2], xlAscending, , , , , , xlNo
    Application.ScreenUpdating = True
End Sub

Nhưng do dữ liệu ở cột 'A' của các trang <> 'TongHop' cần chép lại không có dữ liệu, nên chuyện chép sẽ bị chồng chất lên nhau của lần sau lên lần trước.

Muốn thử nghiêm kết quả đúng bạn fải xác định dòng cuối có dữ liệu của các trang này
(Hãy tìm đọc theo từ khoá Last Rows)
 
Upvote 0
Web KT

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

Back
Top Bottom