Lỗi khi gộp nhiều sheet thành 1 sheet

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

pjnkpoog

Thành viên mới
Tham gia
19/4/09
Bài viết
1
Được thích
0
Các anh, chị xin giúp em một vấn đề ạ. Em không phải dân chuyên ngành nên nếu câu hỏi có vẫn đề không đúng, xin được mọi người góp ý ạ.

Vấn đề của em là khi dùng cách hướng dẫn em để cuối post để gộp nhiều sheet trong 1 file excel thành 1 sheet thì có những sheet thấy trong sheet Combined chỉ có dòng tiêu đề và 1 dòng đầu tiên dưới dòng tiêu đề (là dòng em hay bôi đậm và để tính tổng).

Cách gộp sheet này em đã từng dùng để gộp các sheet trong file đó thành công. Bây giờ có các sheet mới thì vài sheet mới lại không gộp được lỗi như trên. Các sheet tạo mới thì em luôn dùng chức năng copy sheet, sau đó chỉ gõ dữ liệu nên các sheet luôn cùng format. Em không biết lỗi do sheet ở đâu.

Em nêu mô tả vấn đề chung vậy. Nếu cần dữ liệu để a/c tìm lỗi thì em xin phép gửi sau ạ.

Em mong được a/c giải đáp ạ.


  1. Nhấn giữ Alt + F11, hộp thoại Microsoft Visual Basic for Applications mở ra.
  2. Nhấp Insert > Module, và dán đoạn mã sau vào cửa sổ Module.


Sub Combine()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub

Xóa phần bài viết có liên kết đến trang web khác. ptm0412
 
Chỉnh sửa lần cuối bởi điều hành viên:
Code từ trang web đó luộm thuộm quá, và nhiều lỗi tiềm ẩn:
- On error resume next: lỗi không biết đường nào sửa
- activate sheet rồi mới copy (không cần thiết)
- select dòng rồi mới copy (không cần thiết)
- Tại sao phải select A1 rồi từ selection lại tìm current region để select tiếp?
- sử dụng CurrentRegion để copy, nguy cơ copy thiếu dữ liệu. (vẫn activate và select rồi copy)
- nếu vùng CurrentRegion sai thì Selection.Rows.Count sẽ sai theo
- Nếu dữ liệu vượt 65536 dòng thì sheet bị bỏ qua mà không nói năng gì.
 
Web KT
Back
Top Bottom