簡體   English   中英

定義返回空白的自定義VBA函數

[英]Define a custom VBA function that returns blank

如果公式的結果為空白,如何定義一個返回空白的excel函數?

如果vlookup發現空白,則返回零。 我想將vlookup嵌入到一個函數中,如果vlookup找到一個空白單元格,則返回一個空白而不是零。

我不想輸入:

=if(vlookup(args) = "", "", vlookup(args))

我希望有一些類似於內置的Iferror函數的語法:

=blankreturn(function)

如果函數導致空白,則返回空白;否則,返回函數的結果。

我試圖定義一個自定義函數,但是當找到一個空白單元格時它仍然返回零

public Function Blankreturn(formula as variant)

If IsEmpty(formula) = True Then
   Blankreturn = ""
Else
   Blankreturn = formula
End if

End Function

甚至更好,盡管我不知道從何處開始:

ifblank(function, "This is blank")

如果第一個參數為空,則返回第二個參數。

謝謝

您可以構建特殊的VLookup函數

Option Explicit

Public Function MyVLookup(Arg1, Arg2, Arg3, Optional Arg4 = True)
    MyVLookup = Application.VLookup(Arg1, Arg2, Arg3, Arg4)
    If VarType(MyVLookup) = 0 Then MyVLookup = vbNullString
End Function

在此處輸入圖片說明

但是可能使用VBA用戶定義函數比使用此方法慢=if(vlookup(args) = "", "", vlookup(args))我可以想象(需要進行測試)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM