利用VBA 实现KKS码的智能编码
康晓龙 白秀平 布日古德
摘 要:KKS标识系统是电厂管理信息系统的基础。编码的质量好坏直接影响整个信息管理中各个环节的应用。KKS码数量大、工作繁重,人工编制过程中经常纰漏,不规范的情况。本文介绍通过利用EXCEL中宏的强大功能来实现对功能位置KKS的智能编码,详细说明了本设计的具体功能、实现原理及效果展示。利用些小程序解决了人工手动编码的一些弊端,层级结构清晰,方便易用,在保证编码正确率的前提下,大大提高了编码效率。
关键词:功能位置;KKS;智能编码;EXCEL宏;VBA
DOI:10.16640/j.cnki.37-1222/t.2019.09.130
1 软件设计概述
1.1 软件使用概述
根据XX集团《发电企业设备功能位置(KKS)编码导则》标准要求,编码采用树形结构,将KKS分为5级编码,依次为:机组编码,系统级编码,子系统编码,设备码及部件码。中文描述应按照从机组级、系统级一直到设备级的原则,若是设备的部件,则为机组级、系统级、设备级、部件级。
如:
根据标准编码规则,本软件通过在EXCEL表格中给每级单独编码,编码时只需要填入本级的编码,如设备级编码为AN001,只需在设备级对应的单元格中填入AN001,机组级系统级和子系统编码会自动根据其上一级的编码自动生成KKS码及其描述。表格中包括KKS 5級编码,每级编码描述,最后生成的KKS码,功能位置描述,上一级KKS码,上一级功能位置描述共10列。
1.2 功能概述
分级自动生成编码:能够按照标准要求分层级,只对一级进行编码就能够连同上级编码一同自动生成KKS码、功能位置描述及上级KKS和描述,大大提高了编码速度。
编码输入提示:在给每级进行编码时,所选单元格处会有输入提示从而减少错误率。
编码格式错误检测:能够自动识别编码时输入的格式是否符合要求,当不符合要求时会自动报错停止并显示错误信息要求重新输入。
KKS查重:每生成一个KKS编码,软件都会自动检查是否有重复的KKS,当有相同的KKS编码时,会将重复的数据突出显示。
2 软件设计原理
2.1 KKS编码及其功能位置描述自动生成原理
利用EXCEL中 Worksheet_Change事件驱动代码执行。
KKS=(上一级KKS)&(当前所选单元格编码)
功能位置描述 =(上一级功能位置描述)&(当前编码描述)
上一级KKS:利用一个循环,从机组编码列到所选单元格所在列,然后向上查找所选单元格前一列对应的不为空的值,每个循环所查找的值进行逻辑运算相与就得到上级KKS编码。
上一级功能位置描述:原理和kks生成方法一样。
实现代码如图1。
2.2 编码输入提示、编码格式错误检测实现方法
利用数据有效性即可实现单元格数据输入提示、格式限制、出错停止并提示错误信息。分别对输入的每一列进行数据有效性设置,有效性条件:允许设置为自定义,然后输入每一列的条件限制公式;输入信息:标题设置为“请输入xx编码”输入信息设置为“每列的输入条件提示”,如设备码列:“ AANNNA (N) ”,A为大写英文字母,N为阿拉伯数字;出错警告:样式为停止,标题设为“输入错误请重新输入”,错误信息设为“输入的设备编码不符合标准要求”。
2.3 KKS码查重
对KKS码列进行:条件格式设定>突出显示单元格规则>重复值。
2.4 效果展示
3 结束语
本设计充分利用了EXCEL中宏的强大功能及VB语言和数据有效性,很好的解决了人工编码时易出错、重复、编码混乱、不易整理等缺点,大大提高了工作效率。
参考文献:
[1]林卓然.VB语言程序设计(第4版)[M].北京:电子工业出版社,2016(08).
[2]蒲括,邵朋.精通Excel数据统计与分析[M].北京:人民邮电出版社,2014(06).
[3]ExcelHome.Excel2013函数与公式应用大全[M].北京:北京大学出版社,2016(05).
[4]尚品科技.Excel VBA 编程实战宝典[M].北京:清华大学出版社,2018(07).
作者简介:康晓龙(1993-),男,山西人,本科,工程师,从事信息化工作。