[ Giúp đỡ] Sửa lỗi VBA Runtime Error 1004: Application-defined or Object-defined error

Blue Softs epl Liên hệ QC

tieumiulovecun_215

Thành viên mới
Tham gia
4/10/12
Bài viết
4
Được thích
0
Chào các Anh/ Chị
Em viết đoạn code sau đây:
Sub thutrasoat()
Dim i As Integer
For i = 2 To 100
If Sheet2.Range("C" & i).Value <> 0 Then
Sheet1.Range("A8:D8").Value = Sheet2.Range(Cells(i, 1), Cells(i, 4)).Value
End If
Next i
End Sub
Nhưng VBA báo lỗi VBA Runtime Error 1004: Application-defined or Object-defined error, nhờ các anh chị chỉ giáo giúp em, em cảm ơn
 

bGuz

Thành viên mới
Tham gia
21/5/21
Bài viết
7
Được thích
13
View attachment 268355
Sub thutrasoat()
Dim i As Integer
For i = 2 To 100
If Sheet2.Range("C" & i).Value <> 0 Then
Sheet1.Range("A8:D8").Value = Sheet2.Cells(Cells(i, 1), Cells(i, 4)).Value
End If
Next i
End Sub
 
Lần chỉnh sửa cuối:

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
12,766
Được thích
19,497
PHP:
Sub thutrasoat()
Dim I As Integer

For I = 2 To 100
    If Sheet2.Range("C" & I).Value <> 0 Then
        Sheet1.Range("A8: D8").Value = Sheet2.Range(Sheet2.Cells(I, 1), Sheet2.Cells(I, 4)).Value
    End If
Next I
End Sub
 

tieumiulovecun_215

Thành viên mới
Tham gia
4/10/12
Bài viết
4
Được thích
0
PHP:
Sub thutrasoat()
Dim I As Integer

For I = 2 To 100
    If Sheet2.Range("C" & I).Value <> 0 Then
        Sheet1.Range("A8: D8").Value = Sheet2.Range(Sheet2.Cells(I, 1), Sheet2.Cells(I, 4)).Value
    End If
Next I
End Sub
cảm ơn mn ạ, em đã sửa được lỗi nhưng viết tiếp đoạn code tự ẩn dòng thì lại gặp lỗi "object require", nhờ
Sub thu()
Dim i As Integer
Dim n As Integer
Dim R As Range, CHK As Boolean
For i = 2 To 100
If Sheet2.Range("C" & i) <> 0 Then
n = Sheet2.Range("N" & i)
Sheet1.Range("A8:D8").Value = Sheet2.Range(Sheet2.Cells(i, 1), Sheet2.Cells(i, 4)).Value
Sheet1.Range("A36:C36").Value = Sheet1.Range("A8:C8").Value
Sheet1.Range("D36").Value = Sheet2.Range("J" & i).Value
Sheet1.Range("G36:J49").Value = Sheet2.Range(Sheet2.Cells(i, 5), Sheet2.Cells(n, 8)).Value
Sheet1.Range("E36:E49").Value = Sheet2.Range(She1et2.Cells(i, 11), Sheet2.Cells(n, 11)).Value
For Each R In Sheet1.Range("G36:G49")
CHK = False
If VarType(R.Value) = vbError Then
CHK = True
End If
R.EntireRow.Hidden = CHK
Next R
End If
Next i
End Sub
 

BuiQuangThuan

❆❆❆❆❆❆❆❆❆❆❆
Tham gia
17/12/10
Bài viết
833
Được thích
520
Giới tính
Nam
cảm ơn mn ạ, em đã sửa được lỗi nhưng viết tiếp đoạn code tự ẩn dòng thì lại gặp lỗi "object require", nhờ
Bạn hãy đưa code vào thẻ code giùm với. Chứ đọc code kia ức cái chế luôn ấy. Tiện thể hãy đính kèm file để mọi người còn test luôn chứ. Đoán già đoán non. Chẳng biết đường nào mà lần
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
12,766
Được thích
19,497
Chỉ cần bấm {F5} 1 lần duy nhất thôi, mà tác giả bài đăng cũng không làm; Hơi bị lạm dụng GPE.COM quá đáng!
Hay bạn đang định đùa zởn với những người có nhã í giúp bạn!
 

VetMini

Chuyên gia GPE
Tham gia
21/12/12
Bài viết
12,564
Được thích
16,261
Chỉ cần bấm {F5} 1 lần duy nhất thôi, mà tác giả bài đăng cũng không làm; Hơi bị lạm dụng GPE.COM quá đáng!
Hay bạn đang định đùa zởn với những người có nhã í giúp bạn!
Tôi cũng từng nói nhiều lần rồi. Những người có thói viết tắt cũng hay mang tính cẩu thả hời hợt. Găpoj những công việc cần chú tâm thì họ làm không được.
Ở bài #6 tôi cố tình không chỉ thẳng ra để cho họ học cách làm việc từng bước chắc chắn.
 

tieumiulovecun_215

Thành viên mới
Tham gia
4/10/12
Bài viết
4
Được thích
0
Chỉ cần bấm {F5} 1 lần duy nhất thôi, mà tác giả bài đăng cũng không làm; Hơi bị lạm dụng GPE.COM quá đáng!
Hay bạn đang định đùa zởn với những người có nhã í giúp b
Xin lỗi nếu làm anh thấy khó chịu, tại em mới tìm hiểu VBA và tập viết code nên không hiểu lắm, thật sự là em không biết bấm nút F5 ạ (@$%@
Bài đã được tự động gộp:

Tôi cũng từng nói nhiều lần rồi. Những người có thói viết tắt cũng hay mang tính cẩu thả hời hợt. Găpoj những công việc cần chú tâm thì họ làm không được.
Ở bài #6 tôi cố tình không chỉ thẳng ra để cho họ học cách làm việc từng bước chắc chắn.
Xin lỗi anh, nhưng em thấy em viết tắt từ mọi người bằng "mn" cũng là thông dụng và viết một chữ viết tắt đó thôi, nhưng em gõ đầy đủ không sai lỗi chính tả hay lỗi đánh máy, nếu vì vậy mà anh đánh giá em là cẩu thả hời hợt em thấy hơi bị phiến diện.
 

Hoàng Tuấn 868

Đăng ký hôm qua
Tham gia
9/11/19
Bài viết
2,396
Được thích
2,027
tại em mới tìm hiểu VBA và tập viết code
Xin lỗi anh, nhưng em thấy em viết tắt từ mọi người bằng "mn" cũng là thông dụng
Bạn thử viết tắt một câu lệnh khi viết code sẽ thấy giá trị những lời góp ý đó, (Đây là chưa nói đến lĩnh vực khác).
 

VetMini

Chuyên gia GPE
Tham gia
21/12/12
Bài viết
12,564
Được thích
16,261
... nhưng em thấy em viết tắt từ mọi người bằng "mn" cũng là thông dụng và viết một chữ viết tắt đó thôi, ...
Trong thế giới chat thì nó thông dụng. Nhưng bảo thông dụng trong mọi tình huống thì bạn quá chủ quan.
Làm việc trong môi trường rộng thì phải hiểu rằng nó khác với môi trường quen thuộc của mình.

Những điều tôi nói trên nhiều người nghĩ rằng do tôi khó tính. Nhưng ngược lại, nếu những người ấy chịu khó dẹp tự ái và suy nghĩ một chút thì cũng sẽ thấy rằng chúng có lợi cho họ thôi. Nếu bạn không cảm nhận được thì con đường học code của bạn sẽ nhiều chông gai hơn người khác. Chịu khó hiểu rằng môi trường hỏi vấn đề nó khác với môi trường quen thuộc thì câu hỏi của bạn sẽ dễ hiểu hơn, và bạn sẽ nhận được câu trả lời nhanh chóng, chính chắn hơn.

Biết cách đặt câu hỏi cho mọi người đều hiểu là một kỹ năng quan trọng. Không biết tôn trọng kỹ năng này mà chỉ lo cái tự ái của mình là bệnh chung của tuổi trẻ.
 
Web KT
Top Bottom