在配方开发中,经常会需要将缩写与物料编码、CAS、中文名称等信息进行转换,当物料不多时,这些信息容易记住,但数量多了之后,就很难完全记住了,记错了反而容易误事。因此,我写了一个小工具来方便大家转换,免得每次用Vlookup函数来显式转换。
因为采用的是EXCEL的加载宏形式,因此你的EXCEL版本要在2007之上,并且要安装VBA,这样宏才能运行。将以下压缩包中后缀为xlam的文件复制到EXCEL的默认加载路径下(将{用户名}替换为你的电脑上的用户名):
C:Users{用户名}AppDataRoamingMicrosoftAddIns
然后在Excel加载项中勾选“代码转换工具-public”即可使用。
因为各家使用的缩写/编码都不一样,你可以自己定义,因此,打开这个xlam文件之后,在VBA编辑环境(按Alt+F11打开),选中ThisWorkBook
然后在下面的属性栏中选择将IsAddin修改为False,
则Excel会自动打开加载宏中隐藏的表格,如下(都是随便编的数据,编码和价格不具备真实性)
除了第一行不要改,各栏的顺序不要改。第2行起各行内容都可以根据你的需要修订或增加。可以填写的区域从A2:E100都可以。如果还不够你可以修改VBA代码中定义的
Public Const DataBlock = "$A$1:$F$100"
这一句来扩展。
修改完成之后,切换到VBA编辑环境,将上面的IsAddin重新改回True,再按Ctrl+S保存即可。
这个小工具提供了几个函数,CtoN表示Code→Name,也就是代码转换到名称;CtoP表示代表转换到价格;CtoCAS表示代码转换到CAS号,CtoCNname表示代码转换到中文名称。依次类推。。。
压缩包中提供了一个演示文件,基于演示用的几个数据制作的。只要加载宏已经正确加载,Demo.xlsx的函数转换就可以正常运作。
特别提示一下,因为这类对照信息往往是保密的,因此,如果你使用这个工具,可以给它加上密码,或者控制发放范围,以防止不必要的泄密,这是各位使用者自己的责任。也可以给VBAProject增加密码保护,但强度不高。
为了方便大家自己修改表格数据,我把VBA工程的密码就清除了,因此代码是公开透明的,你可以随便修改。