ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用窗体显示使用辅料的产品型号列表?

如何用窗体显示使用辅料的产品型号列表?

作者:绿色风 分类: 时间:2022-08-17 浏览:96
楼主
omnw
Q:如何用窗体显示使用辅料的产品型号列表?
A:本实例使用VBA实现通过双击查询表中辅料编号非空的单元格,实现用一个窗体显示使用该编号辅料的所有产品型号的列表。
本实例中共有两个工作表,一个是查询表,表中按辅料名称列举出了辅料的编号。另一个是明细数据表,表中展示了某型号产品所使用辅料编号的对照关系。
操作效果:

 
VBA代码:

  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2.     Dim sh As Worksheet
  3.     Dim rng As Range
  4.     Dim MyBlank As Boolean
  5.     Dim i As Long
  6.     Set sh = Worksheets("set")    '明细数据所在工作表
  7.     If Target.Value <> "" And Target.Row >= 3 Then    '保证双击的单元格在数据区域内
  8.         Cancel = True
  9.         MyBlank = True
  10.         With UserForm1
  11.             .Caption = "使用辅料" & Target.Value & "的产品名称列表:"    '设置窗体的标题
  12.             Set rng = sh.Rows(1).Find(Cells(2, Target.Column))    '在明细数据中查询辅料的名称
  13.             If Not rng Is Nothing Then    '如果查询到了该辅料的名称
  14.                 For i = 2 To sh.Cells(sh.Rows.Count, 2).End(xlUp).Row    '从明细表的第一行数据开始向下查询辅料的编号
  15.                     If sh.Cells(i, rng.Column) = Target.Value Then    '如果辅料编号与所点击单元格的编号一致
  16.                         .ListBox1.AddItem sh.Cells(i, 2)    '将该辅料对应的产品型号加入窗体
  17.                         MyBlank = False    '查询到结果
  18.                     End If
  19.                 Next i
  20.             End If
  21.             If MyBlank = False Then
  22.                 .Show '如果查询到有使用此辅料的产品由显示窗体
  23.             Else
  24.                 MsgBox "没有使用该辅料的产品!" '没有查询到使用该辅料的产品由给出提示信息。
  25.             End If
  26.         End With
  27.     End If
  28. End Sub
附件:
使用窗体查询明细.rar
2楼
0Mouse
很不错的实例!

如果再加上单击ListBox1中的产品型号还能实现跳转定位至相应表格的相应单元格,估计素材源提供者茄子会更喜欢了!
3楼
云龙
辛苦了,谢谢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap