lỗi method range of object _worksheet failed

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

HienPr_Nguyen

Thành viên mới
Tham gia
18/6/21
Bài viết
12
Được thích
0
e có viết đoạn code để tìm kiếm dữ liệu và bị lỗi method range of object _worksheet failed
Sub Serch()
Dim ws As WorksheetFunction
Dim i, a, b, c As Integer
Dim rng As Range
Set ws = Application.WorksheetFunction
With Sheet6
For i = 3 To 79 Step 1
a = .Range("E" & i).Value
b = .Range("F" & i).Value
c = ws.Match(.Range("G2").Value, Sheet2.Range("C" & a & ":C" & b), 0)
.Range(Cells(i, 7)).Value = ws.VLookup(.Range("G2").Value, Sheet2.Range("C" & a & ":p" & b), 14, 0)
'.Range(Cells(i, 7)).Value = ws.Index(Sheet2.Range("P" & a & ":p" & b), c, 1)
Next i
End With
End Sub

nhờ các bác trên diễn đàn xem giúp e nó sai ở đâu với ạ. cám ơn ad duyệt bài ạ!
 

File đính kèm

  • Vai Dia DGP-3.xlsm
    343.5 KB · Đọc: 50
e có viết đoạn code để tìm kiếm dữ liệu và bị lỗi method range of object _worksheet failed
Sub Serch()
Dim ws As WorksheetFunction
Dim i, a, b, c As Integer
Dim rng As Range
Set ws = Application.WorksheetFunction
With Sheet6
For i = 3 To 79 Step 1
a = .Range("E" & i).Value
b = .Range("F" & i).Value
c = ws.Match(.Range("G2").Value, Sheet2.Range("C" & a & ":C" & b), 0)
.Range(Cells(i, 7)).Value = ws.VLookup(.Range("G2").Value, Sheet2.Range("C" & a & ":p" & b), 14, 0)
'.Range(Cells(i, 7)).Value = ws.Index(Sheet2.Range("P" & a & ":p" & b), c, 1)
Next i
End With
End Sub

nhờ các bác trên diễn đàn xem giúp e nó sai ở đâu với ạ. cám ơn ad duyệt bài ạ!
Sai ở chổ: .Range(Cells(i,7)).value.... Sửa đoạn này là chạy.
 
@Chủ bài đăng: Ngoài lề 1 chút:
→ Các dòng lệnh của macro nên bỏ vô thẻ [ PHP] . . .[ /Php] hay [ Code]. . . [/ code] cho dẽ nhìn với tất thẩy mọi người;
→ Tên các tham biến nên tượng hình hơn, ví dụ Dim Dg As Long thay vì các tham biến i, a, b, . . của bạn;
Tên tham biến nên có ký tự hoa chen lẫn, như Dim wF As Object,. . . .
Chúng là những chú ý nho nhỏ nhưng là thói quen tốt từ nay về sau cho bạn & cả cho tôi. . .

Chúc tốt lành!
 
Sai ở chổ: .Range(Cells(i,7)).value.... Sửa đoạn này là chạy.
Cám ơn bác nhé. Mình sửa đủ kiểu r mà vẫn ko đc, mới tập tành VBA bác ạ
Bài đã được tự động gộp:

@Chủ bài đăng: Ngoài lề 1 chút:
→ Các dòng lệnh của macro nên bỏ vô thẻ [ PHP] . . .[ /Php] hay [ Code]. . . [/ code] cho dẽ nhìn với tất thẩy mọi người;
→ Tên các tham biến nên tượng hình hơn, ví dụ Dim Dg As Long thay vì các tham biến i, a, b, . . của bạn;
Tên tham biến nên có ký tự hoa chen lẫn, như Dim wF As Object,. . . .
Chúng là những chú ý nho nhỏ nhưng là thói quen tốt từ nay về sau cho bạn & cả cho tôi. . .

Chúc tốt lành!
Cám ơn bác đã góp ý ạ
Bài đã được tự động gộp:

Sai ở chổ: .Range(Cells(i,7)).value.... Sửa đoạn này là chạy.
Nó ko hiểu vùng tìm kiếm hàm INDEX phải ko ạ.?
 
Lần chỉnh sửa cuối:
Cám ơn bác nhé. Mình sửa đủ kiểu r mà vẫn ko đc, mới tập tành VBA bác ạ
Bài đã được tự động gộp:


Cám ơn bác đã góp ý ạ
Bài đã được tự động gộp:


Nó ko hiểu vùng tìm kiếm hàm INDEX phải ko ạ.?
Tôi chỉ biết sai cú pháp ở chổ này: .Range(Cells(i, 7)).Value = ws.VLookup...... Thay bằng: .Cells(i,7).Value=ws.VLookup.....là có chạy. Còn bạn đang làm gì, kết quả đúng hay không thưc tình tôi không biết.
 
Web KT
Back
Top Bottom