Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 我想使用VBA创建一个使用表中数据的函数_Excel_Vba - Fatal编程技术网

Excel 我想使用VBA创建一个使用表中数据的函数

Excel 我想使用VBA创建一个使用表中数据的函数,excel,vba,Excel,Vba,我是VBA新手,我正在尝试通过创建VBA函数来简化excel上的公式。我希望函数能如图所示工作 这对我很有效: Function TypeDesc(Desc As String, Qty As Double) As Double Dim m With ThisWorkbook.Sheets("data").ListObjects("Types15") 'vlookup works well here... m = Application.VLook

我是VBA新手,我正在尝试通过创建VBA函数来简化excel上的公式。我希望函数能如图所示工作

这对我很有效:

Function TypeDesc(Desc As String, Qty As Double) As Double
    Dim m
    With ThisWorkbook.Sheets("data").ListObjects("Types15")
        'vlookup works well here...
        m = Application.VLookup(Desc, .DataBodyRange, 4, False) 'you have 7 here?
    End With
    If IsError(m) Then m = "No" 'error means no match: set to "No"
    TypeDesc = IIf(m = "Yes", Qty, 0)
End Function

请不要粘贴代码图像:从VB编辑器复制代码并粘贴到问题中。选择它并使用
{}
按钮格式化它。您发布的代码有问题吗?如果是,它是什么?(1)您的函数名键入错误为
TypeDes
(2)您的查找表仅为A10:D15,但在VBA中,您正在访问G列中的值?(3)
TypeDesc=IIf(YN=“Yes”,Qty,0)
周围没有引号
Qty
@TimWilliams谢谢你的提示,我将在下一个问题中记住这一点,我将复制代码。对于第(1)点和第(2)点,我相信我在尝试重命名和简化我正在处理的电子表格时创建了这些拼写错误,以便更容易地解释我需要什么并提出问题,我在“数据”表中的原始表格宽了3列,因此出现了您在第(2)项中提到的错误。那是一个真正的错误