|
来源:新浪博客 来源:http://www.itongji.cn/article/0RUF2011.html
朋友在物流公司做会计,每天都有上千条份快件的运费需要计算汇总,最近总是抱怨自己手头的活多了,连去农场“偷菜”的时间都没有。的确,每天拿着报价单重复同样的事情,稍不留神还有可能算错,月底对账时数目不对还得扣奖金,可怜啊!最后我这个朋友不得不帮她想办法,于是就有了下面的用户自定义函数:函数设置了3个参数,目的地area,物品名称type1,和物品重量weight,最后根据目的地、物品名称、重量等因素来求快件的收费。这里忽略重量为负的情况,主要考虑目的地是否有输入错误而导致无法计算运费的情况,如果目的地不在公司所在配送范围内,则弹出对话框:请检查目的地是否输入正确,点击确定在返回目的地,点击取消则返回错误,简要代码如下:
Function price1(area, type1, weight)
If type1 = "doc" Then
Select Case area
Case Is = "LHR"
If weight <= 0.5 Then
price1 = 90
Else
price1 = 90 + Round((weight - 0.5), 1) * 2 * 30
End If
Case Is = "DXB"
If weight <= 0.5 Then
price1 = 45
Else
price1 = 45 + Round((weight - 0.5), 1) * 2 * 45
End If
Case Is = "CDG"
If weight <= 0.5 Then
price1 = 60
Else
price1 = 90 + Round((weight - 0.5), 1) * 2 * 25
End If
Case Else
price1 = MsgBox("请检查目的地是否输入正确", vbOKCancel)
If price1 = vbOK Then
price1 = area
Else
price1 = "错误"
End If
End Select
Else
Select Case area
Case Is = "LHR"
If weight <= 0.5 Then
price1 = 125
Else
price1 = 125 + Round((weight - 0.5), 1) * 2 * 30
End If
Case Is = "DXB"
If weight <= 0.5 Then
price1 = 60
Else
price1 = 60 + Round((weight - 0.5), 1) * 2 * 45
End If
Case Is = "CDG"
If weight <= 0.5 Then
price1 = 90
Else
price1 = 90 + Round((weight - 0.5), 1) * 2 * 25
End If
Case Else
price1 = msgbox("请检查目的地是否输入正确",vbokcancel)
if price=vbok then
price1=area
else
price1="错误"
end if
End Select
End If
End Function
下面看看效果如何:
PS:看不见图片动态效果的点击查看原图,另外EXCEL和CX结合起来用往往能起到意想不到的效果,有关CX方面的应用可以去小蚊子乐园和本博友情链接dataliliy去看看,前不久,有了首本CX中文书。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|