系统:Windows 10
软件:Excel 2016
- 本系列是假设一种应用场景,键盘质量检查中,发现问题,如何在键盘图片上进行标记和后续的跟踪管理
- 其实也同样适用在其它应用场景,尤其与位置相关的质量特性管理上
- 核心知识点:在背景图片特定位置插入一个圆圈(表示问题点),并对圆圈进行进行颜色等特性的改变
Part 1: 项目功能介绍(更新)
- 在写的过程中,发现需要修正一下上次的功能,功能模块如下
- 录入问题(OK)
- 录入尺寸问题,标记圆形
- 录入颜色问题,标记矩形
- 清空显示问题
- 保存当前状态:新增的问题点位置和颜色都是动态变化的,需要保存最新状态
- 删除问题(OK)
- 基于问题唯一ID号删除某问题
- 查询问题,基于以下三个条件逻辑与进行查询,若无选择条件,默认显示所有问题
- 基于问题状态:已解决,未解决(OK)
- 问题种类:尺寸,颜色(OK)
- 问题ID号,只显示特定ID号问题(OK)
- 时间节点:超期,未超期
- 选中图片上问题获取其对应的问题信息(OK)
- 问题修改(OK)
- 修改问题状态,更新其颜色表示,未解决-红色;已解决-绿色
- 考虑到操作的便利性,对于录入问题部分,设置快捷键(OK)
操作界面(仅做示意,并不表示真有质量问题;如有侵权请联系我)
Part 2: 拟实现功能描述
- 本次拟实现基于鼠标选中的图形,获取该图形的对应的相关信息
- 设置了一个快捷键,选中图形后,点击ctrl+m后,弹窗显示这个问题点的信息,包括id号,问题种类,问题状态,数据库中对应行数
过程动图
静图
Part 3:代码
Sub showInfo()
selectedShape = Selection.Name
Set sht = ThisWorkbook.Worksheets("问题管理")
' 获取行数
maxRow = sht.Cells(Rows.Count, "Q").End(xlUp).Row
questionType = ""
uniqueId = ""
questionType = ""
problemStatus = ""
For i = 3 To maxRow Step 1
shapeName = sht.Cells(i, "Q").Value
If shapeName = selectedShape Then
uniqueId = sht.Cells(i, "J").Value
questionType = sht.Cells(i, "K").Value
problemStatus = sht.Cells(i, "L").Value
rowNum = i
Exit For
End If
Next i
If uniqueId <> "" Then
info = "已选择图形信息如下:id号," & uniqueId & ";问题种类," & questionType & _
";问题状态," & problemStatus & Chr(10) & Chr(13) & "问题所在行:" & rowNum
Else
info = "未识别出所选图形,请检查是否选中图形。若检查选择无误,请联系开发者"
End If
MsgBox info
End Sub
代码截图
快捷键注册:在工作簿打开时间中注册一个快捷键
Application.OnKey "^m", "选择图形信息.showInfo"
Part 4:部分代码解读
Application.OnKey "^m", "选择图形信息.showInfo"
,在工作簿打开事件中注册一个快捷键,关联一个sub过程即可selectedShape = Selection.Name
,获取被选择图形在内部的变量名称
- 更多学习交流,可加小编微信号
learningBin
更多精彩,请关注微信公众号
扫描二维码,关注本公众号