mình có hàm này:
Private Sub cmb_seach_Click()
If WorksheetFunction.CountIf(Sheet9.Range("A:A"), Me.Txt_macanbo.Value) = 0 Then
MsgBox "Ma nhan su khong ton tai, Ban la can bo moi, hay chon mau 02, bo xung thong tin ok roi in"
Exit Sub
Else
'Set Lookup = Sheet9.Range("A1:C114")
With Me
.Txt_hoten = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Sheet9.Range("Lookup"), 2, 0)
.Cmb_Donvi = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Sheet9.Range("Lookup"), 3, 0)
.Cmb_chucvu = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Sheet9.Range("Lookup"), 5, 0)
.Txt_Userduoccap = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Sheet9.Range("Lookup"), 3, 0)
.Cmb_group = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Sheet9.Range("Lookup"), 6, 0)
End With
End If
End Sub
Không hiểu sao khi chạy nó báo lỗi
""run-time erro '1004'
''method 'Range' of object '_Worksheet' failed"
Bạn bào giúp mình với
cũng hàm tương tự mình dung ở file khác thì chạy bình thường
lỗi khi dùng hàm worksheetFuntion.vlookup
Điều hành viên: tungblt
-
- Bài viết: 3
- Ngày tham gia: Thứ 3 07/08/2018 11:19 pm
- truongphu
- VIP
- Bài viết: 4783
- Ngày tham gia: Chủ nhật 04/11/2007 10:57 am
- Đến từ: Cam Đức, Khánh hòa
- Has thanked: 14 times
- Been thanked: 526 times
Re: lỗi khi dùng hàm worksheetFuntion.vlookup
''method 'Range' of object '_Worksheet' failed"
Nghĩa là dùng Phương thức Range của đối tượng Worksheet không đúng!
Dò Phương thức Range trên code của bạn:
Range("A:A") = đúng
Range("A1:C114") = đúng
Vậy lỗi xảy ra ở Sheet9.Range("Lookup")
Vị trí nầy là đối số table_array của hàm VLookup, suy ra bạn đặt tên cho Sheet9.Range("Lookup") chưa tốt. Bạn thử thay bằng các con số, sẽ thấy hàm VLookup chạy tốt, Vd:
.Txt_hoten = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Range("A2:B8"), 2, 0)
===========
Để viết code gọn, bạn có thể định nghĩa một đối tượng để rút ngắn dòng code, Vd:
Dim AW As Object
Set AW = Application.WorksheetFunction
Vậy câu code trên sẽ được viết là:
.Txt_hoten = AW.VLookup(CLng(Me.Txt_macanbo), Range("A2:B8"), 2, 0)
Nghĩa là dùng Phương thức Range của đối tượng Worksheet không đúng!
Dò Phương thức Range trên code của bạn:
Range("A:A") = đúng
Range("A1:C114") = đúng
Vậy lỗi xảy ra ở Sheet9.Range("Lookup")
Vị trí nầy là đối số table_array của hàm VLookup, suy ra bạn đặt tên cho Sheet9.Range("Lookup") chưa tốt. Bạn thử thay bằng các con số, sẽ thấy hàm VLookup chạy tốt, Vd:
.Txt_hoten = Application.WorksheetFunction.VLookup(CLng(Me.Txt_macanbo), Range("A2:B8"), 2, 0)
===========
Để viết code gọn, bạn có thể định nghĩa một đối tượng để rút ngắn dòng code, Vd:
Dim AW As Object
Set AW = Application.WorksheetFunction
Vậy câu code trên sẽ được viết là:
.Txt_hoten = AW.VLookup(CLng(Me.Txt_macanbo), Range("A2:B8"), 2, 0)