统计211

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3031|回复: 0
打印 上一主题 下一主题

EXCEL应用——自定义函数

[复制链接]
跳转到指定楼层
1
发表于 2013-9-3 16:56:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来源:新浪博客  来源: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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


免责声明|关于我们|小黑屋|联系我们|赞助我们|统计211 ( 闽ICP备09019626号  

GMT+8, 2025-4-11 02:15 , Processed in 0.076881 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表