作者:绿色风
分类:
时间:2022-08-17
浏览:96
楼主 omnw |
Q:如何用窗体显示使用辅料的产品型号列表? A:本实例使用VBA实现通过双击查询表中辅料编号非空的单元格,实现用一个窗体显示使用该编号辅料的所有产品型号的列表。 本实例中共有两个工作表,一个是查询表,表中按辅料名称列举出了辅料的编号。另一个是明细数据表,表中展示了某型号产品所使用辅料编号的对照关系。 操作效果:
VBA代码:
- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- Dim sh As Worksheet
- Dim rng As Range
- Dim MyBlank As Boolean
- Dim i As Long
- Set sh = Worksheets("set") '明细数据所在工作表
- If Target.Value <> "" And Target.Row >= 3 Then '保证双击的单元格在数据区域内
- Cancel = True
- MyBlank = True
- With UserForm1
- .Caption = "使用辅料" & Target.Value & "的产品名称列表:" '设置窗体的标题
- Set rng = sh.Rows(1).Find(Cells(2, Target.Column)) '在明细数据中查询辅料的名称
- If Not rng Is Nothing Then '如果查询到了该辅料的名称
- For i = 2 To sh.Cells(sh.Rows.Count, 2).End(xlUp).Row '从明细表的第一行数据开始向下查询辅料的编号
- If sh.Cells(i, rng.Column) = Target.Value Then '如果辅料编号与所点击单元格的编号一致
- .ListBox1.AddItem sh.Cells(i, 2) '将该辅料对应的产品型号加入窗体
- MyBlank = False '查询到结果
- End If
- Next i
- End If
- If MyBlank = False Then
- .Show '如果查询到有使用此辅料的产品由显示窗体
- Else
- MsgBox "没有使用该辅料的产品!" '没有查询到使用该辅料的产品由给出提示信息。
- End If
- End With
- End If
- End Sub
附件: 使用窗体查询明细.rar |
2楼 0Mouse |
很不错的实例!
如果再加上单击ListBox1中的产品型号还能实现跳转定位至相应表格的相应单元格,估计素材源提供者茄子会更喜欢了! |
3楼 云龙 |
辛苦了,谢谢 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一