我想将我们的运费价格列入工作簿1,Cell B14。
运费价格因运费重量而异:
我到目前为止所列的VBA如下所示,但我得到the following error:<div class="bigbrother" onmousemove="test(event)">
<div id="cursor"></div>
</div>
。如何使这项工作?
statement invalid outside Type block
答案 0 :(得分:0)
1-定义错过了Dim
的变量:
Dim Weight As Double
2-在VBA(see here)中,您使用函数的名称作为返回值。
我认为造成麻烦的是freightrate As Double
删除它或使用临时变量它应该可以工作。
答案 1 :(得分:0)
正如cboden所说 - 最好使用SELECT CASE 这也可以用作工作表函数 - 例如 =运费(Sheet1!B14)。 该函数返回VARIANT,以便ELSE语句可以返回错误 - 您可能希望将其更改为CVErr(xlErrNum)以显示#Num!错误 - 或者如果你想取消错误捕获,则将返回类型更改为Double 您也可以使用 CASE&gt; 300 强>
Public Sub Test()
Debug.Print freightrate(Range("B14").Value)
End Sub
Public Function freightrate(Weight As Double) As Variant
Select Case Weight
Case 45
freightrate = 55
Case 46 To 100
freightrate = 47
Case 100 To 300
freightrate = 29.5
Case Else
freightrate = CVErr(xlErrValue)
End Select
End Function