nhờ cao nhân sửa lỗi Error 1004, file Excel đang dùng bình thường

Blue Softs Liên hệ QC

acrox84

Thành viên mới
Tham gia
22/3/08
Bài viết
37
Được thích
10
Như tiêu đề, bạn nào am hiểu tải về sửa lỗi giúp mình với.
Trước giờ dùng file này ổn định trên 1 máy tính, giờ nó dở chứng ngang, có thể thuộc tính dữ liệu hay cái gì thay đổi mình không rành.

Excel đang dùng bản 2016, đã vào Setting chỉnh Trust access to the VBA... và Disable all macros with notification.
1628045989975.png
 

File đính kèm

  • Loi Error 1004.xlsm
    59.9 KB · Đọc: 8

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
11,479
Được thích
32,424
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Kết quả không có dòng nào, K = 0
Hãy dùng câu lệnh If K > 0 Then rồi mới tới việc điền kết quả
 
Upvote 0

curet

Thành viên mới
Tham gia
17/9/07
Bài viết
28
Được thích
10
Bạn kiểm tra điều kiện của bạn xem
Mã:
 If Data(i, 40) <> 1 And Data(i, 47) <> 1 And Data(i, 13) > 0 And Data(i, 1) <> "0835271809" And Data(i, 1) <> "0945278533" And Data(i, 1) <> "0908790179" And Data(i, 1) <> "0369819191" And Data(i, 1) <> "0325853135" And Data(i, 1) <> "0917223374" And Data(i, 1) <> "0979037703" And Data(i, 1) <> "0827491832" And Data(i, 1) <> "0837370007" And Data(i, 1) <> "0964969904" And Data(i, 1) <> "0336118228" And Data(i, 1) <> "0832055798" And Data(i, 1) <> "0834549338" And Data(i, 1) <> "0907769225" And Data(i, 1) <> "0844300868" And Data(i, 1) <> "0828382838" And Data(i, 1) <> "0933077070" And Data(i, 1) <> "0909088982" And Data(i, 1) <> "0966501515" And Data(i, 1) <> "0377166499" And Data(i, 1) <> "0763170668" And Data(i, 1) <> "0986900056" And Data(i, 1) <> "0969064182" And Data(i, 1) <> "0844800088" And Data(i, 1) <> "0949995661" And Data(i, 1) <> "0964585797" And Data(i, 1) <> "0913039705" Then
Điều kiện này sao xuất ra nổi.
Vì không hiểu rõ về bảng tính nên bạn sửa code này lại xem
Mã:
 If Data(i, 40) = 1 And Data(i, 47) <> 1 And Data(i, 13) > 0 And Data(i, 1) = Sheets("KhachLe").Range("H2").Value Then
 
Upvote 0

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
11,479
Được thích
32,424
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
lúc trước nó vẫn chạy bình thường mà, cũng y code vậy, mình ko có chỉnh sửa gì code cả
Lúc trước có lẽ dữ liệu nhiều, file này chỉ có 3 dòng dữ liệu, lại xét điều kiện 1 tỷ cái and nên không có dòng nào thoả điều kiện.
 
Upvote 0

quanluu

Thành viên gắn bó
Tham gia
11/4/13
Bài viết
2,139
Được thích
1,242
Như tiêu đề, bạn nào am hiểu tải về sửa lỗi giúp mình với.
Trước giờ dùng file này ổn định trên 1 máy tính, giờ nó dở chứng ngang, có thể thuộc tính dữ liệu hay cái gì thay đổi mình không rành.

Excel đang dùng bản 2016, đã vào Setting chỉnh Trust access to the VBA... và Disable all macros with notification.
View attachment 263538
Lỗi này thường là do k = 0, bạn debug bàng cách trỏ chuột vào K là biết giá trị của nó ngay.
 
Upvote 0

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
12,586
Được thích
19,192
Để tìm ra lỗi, thì tác giả bài đăng nên diễn dịch từ ngôn ngữ VBA sang tiếng Việt;
Chứ dữ liệu chỉ 3 dòng & ở cột 4O đều =1 thì K không thể #0
Để có dòng kết quả nào đó thì có chí ít 1 dòng thỏa điều kiện bạnđề ra
Hay bạn cố tình chọc dận thành viên có nhã í giúp bạn?
Buồn!
 
Upvote 0

acrox84

Thành viên mới
Tham gia
22/3/08
Bài viết
37
Được thích
10
Để tìm ra lỗi, thì tác giả bài đăng nên diễn dịch từ ngôn ngữ VBA sang tiếng Việt;
Chứ dữ liệu chỉ 3 dòng & ở cột 4O đều =1 thì K không thể #0
Để có dòng kết quả nào đó thì có chí ít 1 dòng thỏa điều kiện bạnđề ra
Hay bạn cố tình chọc dận thành viên có nhã í giúp bạn?
Buồn!
mấy bạn bỏ hết điều kiện ra xem, cũng hiện lỗi 1004 và không thực thi được.
Hôm qua mình vẫn sử dụng bình thường, thỏa mãn điều kiện thì hiện thông tin dữ liệu bảng bên dưới, còn không thì để bảng trắng --> đều không có báo lỗi gì cả.
 
Upvote 0

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
11,479
Được thích
32,424
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Upvote 0

truongvu317

Thành viên tích cực
Tham gia
15/11/10
Bài viết
802
Được thích
566
Giới tính
Nữ
Upvote 0

batman1

Thành viên gạo cội
Tham gia
8/9/14
Bài viết
4,583
Được thích
7,536
mấy bạn bỏ hết điều kiện ra xem, cũng hiện lỗi 1004 và không thực thi được.
Hôm qua mình vẫn sử dụng bình thường, thỏa mãn điều kiện thì hiện thông tin dữ liệu bảng bên dưới, còn không thì để bảng trắng --> đều không có báo lỗi gì cả.
Có code

For i = 1 To UBound(Data)
If Data(i, 40) <> 1 And ... Then
K = K + 1
...
End If
Next
Chưa cần xét các điều kiện khác, chỉ cần xét Data(i, 40) <> 1

Mảng Data lấy dữ liệu từ sheet Data có 3 dòng. Do Data!AN2 = Data!AN3 = Data!AN4 = 1, nên Data(i, 40) = 1 với i = 1, 2, 3. Tức điều kiện (Data(i, 40) <> 1) = FALSE. Vì thế Data(i, 40) <> 1 And ... = FALSE. Hậu quả là K = K + 1 không được thực hiện lần nào, vì thế K = 0 sau vòng FOR. Lúc này:

Range("A6").Resize(K, 10) = KQ -> Range("A6").Resize(0, 10) = KQ -> Lỗi do tham số cho RESIZE phải > 0.

Đừng viện cớ hôm trước code chạy mượt. Vì hôm trước dữ liệu khác nên kết quả khác. Người viết code phải lường được các tình huống. Vd. nhiều người cứ xác định dòng cuối rồi lấy dữ liệu vào mảng. Họ không phục vụ trường hợp lỗi khi KHÔNG CÓ DỮ LIỆU.
 
Upvote 0
Top Bottom