Lỗi 1004 nhờ diễn đàn giúp (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

anhdepjai

Thành viên thường trực
Tham gia
16/6/10
Bài viết
383
Được thích
92
Gửi cả nhà,
mình có đoạn code này

arr = Workbooks(wstemp2).Sheets("sheet0").UsedRange.Value
'Workbooks(wstemp2).Close False
Workbooks(wstemp1).Sheets("Comparelist").UsedRange.ClearContents
Workbooks(wstemp1).Sheets("Comparelist").Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
(dữ liệu là 10000 dòng x 71 cột)
trong đó wstemp1 và wstemp2 là 2 file excel đang mở.
Code này đã chạy được 2 năm, máy winXP32 bit. tự nhiên hôm qua và 2 hôm nay lại bị lỗi đúng dòng cuối:
Run time error 1004: Application-defined or object-defined error.

Mình sửa cả ngày nay không được. Dù đã copy sang máy khác win7 32bit (CORE I5 x 4 GB RAM), mà vẫn không được mới đau.
Cả nhà giúp với.

Hoặc mình có thể copy dữ liệu lớn ở 2 file đang mở như thế nào thì mong mọi người hướng dẫn luôn nhé. thanks
 
Lần chỉnh sửa cuối:
NOTE: Chữ arr = Workbooks(wstemp2).Sheets("sheet0").UsedRange.Value không hiểu sao mọc ra dấu cách khi post bài

Mình đã thử giảm dữ liệu xuống 900 dòng x 71 cột thì nó chạy bình thường. Nản quá
 
Upvote 0
NOTE: Chữ arr = Workbooks(wstemp2).Sheets("sheet0").UsedRange.Value không hiểu sao mọc ra dấu cách khi post bài

Mình đã thử giảm dữ liệu xuống 900 dòng x 71 cột thì nó chạy bình thường. Nản quá
Sao không xác định hẳn 1 vùng rõ ràng đi bạn.
Dùng usedrange ... Xong đến đoạn code dán vào book khác nhìn thấy không hợp lý lắm (đoán mò +-+-+-+)
 
Upvote 0
Mình muốn copy toàn bộ dữ liệu trong sheet. Nên mới xài usedrange. :( giờ nó cữ lỗi. chỉ copy được 914 dòng. Không sao sửa được.
 
Upvote 0
Gửi cả nhà,
mình có đoạn code này

arr = Workbooks(wstemp2).Sheets("sheet0").UsedRange.Value
'Workbooks(wstemp2).Close False
Workbooks(wstemp1).Sheets("Comparelist").UsedRange.ClearContents
Workbooks(wstemp1).Sheets("Comparelist").Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
(dữ liệu là 10000 dòng x 71 cột)
trong đó wstemp1 và wstemp2 là 2 file excel đang mở.
Code này đã chạy được 2 năm, máy winXP32 bit. tự nhiên hôm qua và 2 hôm nay lại bị lỗi đúng dòng cuối:
Run time error 1004: Application-defined or object-defined error.

Mình sửa cả ngày nay không được. Dù đã copy sang máy khác win7 32bit (CORE I5 x 4 GB RAM), mà vẫn không được mới đau.
Cả nhà giúp với.

Hoặc mình có thể copy dữ liệu lớn ở 2 file đang mở như thế nào thì mong mọi người hướng dẫn luôn nhé. thanks
Mình nghĩ cái naỳ có thể do giới hạn của arr. Tại sao bạn k thử code khác, mà k phải mở cả 2 file?
 
Upvote 0
zHic, Vấn đề là code này chạy cả năm nay, tự nhiên từ hôm qua nó lỗi.
Và nó báo lỗi đúng dòng mình chỉ.

Mình mở 2 file là do lúc thao tác có 1 file đang mở. 1 file khác sẽ đang load xuống. lúc hệ thống xuất ra file excel thì file có code sẽ chộp luôn dữ liệu để làm dữ liệu nền.

Cả ngày ko xử lý được.
 
Upvote 0
zHic, Vấn đề là code này chạy cả năm nay, tự nhiên từ hôm qua nó lỗi.
Và nó báo lỗi đúng dòng mình chỉ.

Mình mở 2 file là do lúc thao tác có 1 file đang mở. 1 file khác sẽ đang load xuống. lúc hệ thống xuất ra file excel thì file có code sẽ chộp luôn dữ liệu để làm dữ liệu nền.

Cả ngày ko xử lý được.
Thế thì up file lên đi bạn. Bạn dùng mảng để copy, tôi thấy đoạn resize đang có vấn đề, bạn thay hẳn bằng số tuyệt đối xem sao. Resize(100000, 71)
 
Upvote 0
zHic, Vấn đề là code này chạy cả năm nay, tự nhiên từ hôm qua nó lỗi.
Và nó báo lỗi đúng dòng mình chỉ.

Mình mở 2 file là do lúc thao tác có 1 file đang mở. 1 file khác sẽ đang load xuống. lúc hệ thống xuất ra file excel thì file có code sẽ chộp luôn dữ liệu để làm dữ liệu nền.

Cả ngày ko xử lý được.

Thế bạn thử chia nhỏ ra mà làm thui, lần đầu cho arr 5000 dòng thui, lần 22 từ 5001 tới hết
 
Upvote 0
Báo cáo, Mình đã tìm ra lỗi. và cũng đã sửa lỗi
Hóa ra trong file dữ liệu có 1 ô có dấu = ở đầu: VD: =qua tao thì khi chạy code:
arr = Sheet1.UsedRange.Value
Sheet2.Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
thì gây ra lỗi luôn.

Mình gửi file lên mọi nguời xem qua nhé. Biết đâu sau này dính.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom