分段生产状态看板自动化
前言
为了更加直观的反应生产状态,生产看板和目视化应运而生,作为船舶制造企业,分段生产状态看板是最典型的一个案例。通常由计划员进行打印后,张贴在作战室,用不同颜色的笔进行标示工序状态。作为电子文档,也是用手工的方法进行填充颜色,那么能不能根据数据记录自动生成目视化看板呢?今天老崔就给大家分享一下思路和具体做法:
思路
1、 构建数据模型,通过实际工序状态,计算最后的颜色
2、 使用图形制作分段平面图
3、 使图形名称与分段对应,并显示分段名称
4、 运行宏,根据分段状态,使相应的图形填充颜色
方法
一:构建数据模型
第一行为自定义各工序看板的颜色
第二行为表头
第三行及以下为实际发生的日期
第一列为分段名称,往右依次为工序名称,最后一列为颜色,公式为COUNT(B3:E3),通过对实际数据个数的统计,判断最后一道工序和要填充的颜色。

二:插入图形,构建分段平面图

设置图形的形状格式:无填充、边框为实线,设置颜色和宽度。

复制多个图形并调整对齐,最后如下图所示,这是我随便画的,大家可以把分段划分图作为底图在上边绘制分段:

三、设置分段显示和图形名称:
选中任意图形,在编辑栏输入“=”,然后点击相应的分段名称的单元格,并选择文字对齐方式为左右居中,上下居中,所有的图形,按照这个方法设置完成,如下图所示:

按ALT+F11打开vba编辑器,编辑代码如下:
Sub RENAME_SHAPE()
On Error Resume Next
For Each P In ActiveSheet.Shapes
P.Select
Selection.Name = Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text
Next
End Sub
运行代码,将所有图形的名称进行按分段名命名,以便在填充颜色时,方便查找。
四、运行宏,根据分段状态,使相应的图形填充颜色
将下列代码复制到VBA编辑器
Sub FILL_COLOR()
N = Cells(1, 1).CurrentRegion.Rows.Count
For i = 3 To N
ActiveSheet.Shapes(Cells(i, 1).Value).Select
With Selection.ShapeRange.Fill
.ForeColor.RGB = Cells(1, Cells(i, 6) + 1).Interior.Color
.Solid
End With
Next
End Sub
在工作表中输入分段的实际完成时间,然后运行代码,VBA将根据工序的实际状态进行颜色填充,效果如下:

总结