VBA để thực hiện 1 hàm có sẵn

Liên hệ QC

ERX_Vietnam

Thành viên hoạt động
Tham gia
27/9/08
Bài viết
113
Được thích
175
Mình biết nêu vấn đề này là hơi "ngố" nhưng quà thật mình ko biết nên anh em bỏ qua cho.
Mình muốn nhờ các bạn viết đoạn code để thực hiện hàm vloolup (hàm này thì mình biết dùng rồi) sao cho khi mình thực hiện macro này thì hàm vlookup mới thực thi. Nếu như cách làm hàm vlookup bình thường thì lúc chưa paste giá trị vào thì ô kết quả luôn hiện #NA, còn mình muốn là khi chưa có dữ liệu thì ô kết quả không hiện thì gì hết, còn khi đã paste dữ liệu rồi và thực hiện macro thì lúc này hàm vlookup mới được thực hiện.
 
Lần chỉnh sửa cuối:
Đây là của Mr Yeudoi

VBA
Mã:
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
MyVLookup = Application.VLookup(val, r, c, flag)
If IsError(MyVLookup) Then MyVLookup = ""
End Function

Excel function

Mã:
=if(iserror(vlookup(?,?,?,?)),"",vlookup(?,?,?,?))
 
Upvote 0
Có cần thiết phải dùng đến VBA không ?
Chỉ cần công thức của SALAM là đủ rồi:
=IF(ISERROR(VLOOKUP(A), "", (VLOOKUP(A))​
Hoặc ngắn hơn (vì VLOOKUP thường chỉ báo lỗi ISNA):
=IF(ISNA(VLOOKUP(A), "", (VLOOKUP(A))​
Hoặc ngắn hơn nữa nếu dùng Excel 2007:
=IFERROR(VLOOKUP(A), "")​
 
Upvote 0
Thanks anh em đã giúp đỡ. Nhưng mình muốn có kết quả như thế này (theo file đính kèm):
Khi mình nhấn "shiptoname" thì tại ô F2 sẽ thực hiện hàm vlookup(E2,shipto,2,0), và khi mình nhấn Material thì tại ô I2 sẽ thực hiện hàm vlookup(H2,material,2,0). Với shipto, mterial là define name tại sheet 2.
Tương ứng cho các ô tại cột E và H là các kết quả tại cột F và I.
 

File đính kèm

  • vlookup.xls
    48.5 KB · Đọc: 23
Upvote 0
Thanks anh em đã giúp đỡ. Nhưng mình muốn có kết quả như thế này (theo file đính kèm):
Khi mình nhấn "shiptoname" thì tại ô F2 sẽ thực hiện hàm vlookup(E2,shipto,2,0), và khi mình nhấn Material thì tại ô I2 sẽ thực hiện hàm vlookup(H2,material,2,0). Với shipto, mterial là define name tại sheet 2.
Tương ứng cho các ô tại cột E và H là các kết quả tại cột F và I.

Có phải ý bạn là thế này ???
 

File đính kèm

  • Copy of vlookup.rar
    4.5 KB · Đọc: 36
Upvote 0
Thanks boyxin, ý của bạn không trùng với ý của mình rồi!
Mình muốn là dùng vba để viết code cho nút lệnh "shiptoname" và "material" sao cho khi kích hoạt các nút lệnh này thì hàm vlookup tưng ứng sẽ thực hiện.
 
Upvote 0
Thanks boyxin, ý của bạn không trùng với ý của mình rồi!
Mình muốn là dùng vba để viết code cho nút lệnh "shiptoname" và "material" sao cho khi kích hoạt các nút lệnh này thì hàm vlookup tưng ứng sẽ thực hiện.

Thử dùng đã đúng ý bạn chưa!
 

File đính kèm

  • Copy of vlookup.xls
    74 KB · Đọc: 17
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom