|
本帖最后由 mima1996 于 2014-4-16 20:29 编辑
问题提出:
有没有这样一段代码,可以解决单位换算的问题,最好做成一个函数,只要代入转换前单位和转换后单位,就可以返回单位转换的系数?
问题一、同一个单位往往有多种表达方法,如公斤=千克=KG=Kilogram,如果用户输入的参数是“公斤”,而数据库保存的是KG,那么肯定找不到答案。
问题二、世界上各种“单位”多如牛毛,有些单位我们从来没有接触过,有些单位是最近才发明的,怎么才能找到完整的单位换算表呢?
问题三、有些物品需要将容积转换成重量,同一名称不同规格型号的物品,其转换系数都不一样,怎么写转换函数呢?
解决方案:
问题三需要特殊处理,不在本次讨论之列。
问题二通过建立可扩展的单位换算表解决。
问题一通过建立可扩展的单位别名表解决。
根据以上思路,我建立了一个工作薄及相应的处理程序。
列举几种用法如下:
1、在本工作薄VBE中函数调用:ChgUnt(a, b),见工作薄之模块1之test().
2、其它工作薄引用本工作薄,然后用函数调用: ChgUnt(a, b),见“工作薄1.xls”,或本工作薄“Sheet1”
3、其它工作薄不引用本工作薄,在打开本工作薄的情况下,输入公式: “=料品主档.xlsm!chgunt(a,b)”,见“工作薄2.xls”
其它说明:
本程序含有特别代码,用于处理将指定格式的单位换算表,保存为“通用单位换算表”与“单位别名表”。
本程序应用了诸多提高程序运行速度的手段,执行效率较好。
本程序使用了数组和字典,并加入较多注释,可供初学者参考。
本程序未经大量使用,难免存在潜在错误,欢迎诸位读者提出改进意见。
以上说明如果还有不清楚的地方,欢迎回贴提出。
|
评分
-
1
查看全部评分
-
|