关注微信公众号:万能的Excel,回复关键词【下拉菜单】获取Excel源文件

功能说明:

因为工作需要,每一次都要从SAP查找物料信息,手动生成物料清单(Boom表),繁琐且容易出错。

使用VBA实现了如下功能:

1、根据关键字,自动检索符合条件的产品信息

2、自动生成下拉菜单

3、选定物料名称,其他产品信息将自动对应输入

1

附件代码:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim whereStr$, sql$, conn, mr%, j%, k%, l%, n%
Dim i As Long, w1 As Stringj = Target.RowOn Error Resume Nextk = Application.WorksheetFunction.Match(Sheet6.Cells(Target.Row, 3), Sheet2.Range("D1:D103"), 0)l = Application.WorksheetFunction.Match(Sheet6.Cells(Target.Row, 2), Sheet2.Range("C1:C103"), 0)n = Application.WorksheetFunction.Match(Sheet6.Cells(Target.Row, 1), Sheet2.Range("b1:b103"), 0)If k > 0 And l = 0 ThenCells(Target.Row, 2) = Application.WorksheetFunction.Index(Sheet2.Range("C:C"), k)ElseIf k > 0 And l > 0 And n = 0 ThenCells(Target.Row, 1) = Application.WorksheetFunction.Index(Sheet2.Range("B:B"), k)ElseIf Target.Count = 1 And Not Intersect(Range("A3:C999"), Target) Is Nothing ThenwhereStr = whereStr & IIf(Cells(j, 1) = "", "", " and [Manufacturer] like '%" & Cells(j, 1) & "%'")whereStr = whereStr & IIf(Cells(j, 2) = "", "", " and [ID] like '%" & Cells(j, 2) & "%'")whereStr = whereStr & IIf(Cells(j, 3) = "", "", " and [Type] like '%" & Cells(j, 3) & "%'")mr = Sheet5.Cells(Rows.Count, 1).End(xlUp).RowIf mr > 2 Then Sheet5.Range("A3:G" & mr).ClearIf whereStr <> "" ThenSet conn = CreateObject("ADODB.connection")conn.Open "Provider=Microsoft.Ace.oledb.12.0;extended properties='excel 12.0;HDR=yes';data source=" & ThisWorkbook.FullNamesql = "select * from [产品库$B6:D] where" & Mid(whereStr, 5)[Search!A3].CopyFromRecordset conn.Execute(sql)conn.CloseSet conn = NothingEnd IfEnd Ifw1 = ""With Sheet6''首先创建下拉列表数据n = Sheet5.Range("c1").End(xlDown).Row()For i = 3 To n Step 1w1 = w1 & IIf(w1 <> "", ",", "")w1 = w1 & Trim$(Sheet5.Cells(i, 3))Next''添加数据有效性With .Cells(j, 3).Validation.DeleteIf w1 <> "" And k = 0 Then.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=w1.InCellDropdown = TrueEnd IfEnd WithEnd WithEnd Sub

关注微信公众号:万能的Excel,回复关键词【下拉菜单】获取Excel源文件

Excel VBA高级编程 - 根据关键字自动搜索,自动生成下拉菜单相关推荐

  1. Excel VBA高级编程-关键字查找数据库

    关注公众号:万能的Excel     并回复[关键字]获取源文件! 功能说明: 这个表格的主要功能是:根据输入的关键字找到数据库中,正确的公司名,生成一个下拉菜单,再根据正确的公司名,找到对应的No生 ...

  2. Excel VBA高级编程 - 根据关键词实时筛选,自动生成下拉菜单

    关注公众号:万能的Excel     并回复[实时筛选]获取源文件! 功能说明: 当客户群体到达一定数量后,统计信息往往编程一项非常繁琐的工作.根据关键字自动搜索并且列出完整的信息编程一项必不可少的功 ...

  3. Excel VBA高级编程 -自动去除重复项 自动求和

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...

  4. Excel表格中如何快速生成下拉菜单

    Excel表格中如何快速生成下拉菜单 目录 Excel表格中如何快速生成下拉菜单 1.例如下表先手动输入前几组的"等级"类别"优良中差" ​2.同时按住 alt ...

  5. 免费资源下载:暗色色系的超棒搜索框和下拉菜单UI欣赏

    为什么80%的码农都做不了架构师?>>>    日期:2012-7-5  来源:GBin1.com 在今天的免费素材下载中,我们推荐来自法国的UI设计师Alexandra Nuad的 ...

  6. Excel VBA高级编程 -根据日期查找数据

    关注公众号:万能的Excel     并回复[日期搜索]获取源文件! 功能说明: 打印出货单的时候,经常会需要从数据库中查询一段时间内的所有数据 本工作表使用VBA实现了如下功能: 1.实时统计重复项 ...

  7. Excel VBA 高级编程-库存管理-出入库系统

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...

  8. Excel VBA 高级编程-来自直男的Excel表白

    关注公众号:万能的Excel     并回复[表白]获取源文件! 七夕快到了,想用另类的表白方式,奈何自己不懂编程?那我就叫你如何用Excel 表白吧! 功能说明: 1.自动播放想说的话 2.用数学公 ...

  9. Excel VBA高级编程-SQL检索(二)合并相同项并求和

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...

最新文章

  1. Struts2中Action接收参数
  2. 基于神经网络的溶解度预测和回归分析
  3. ORACLE 日期比较
  4. python中@wraps的作用
  5. 嵩天python笔记_嵩天Python学习笔记-05
  6. python append函数_Python程序性能分析
  7. python能做什么-学了Python都能做什么
  8. JS面向对象的程序设计(二)
  9. lnmp一键安装的步骤
  10. C语言-流程控制-输出华氏-摄氏温度转换表
  11. 全长扩增子:是时候展示真正的技术了
  12. 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程,宏、插件和辅助的实战编写笔记和视频记录
  13. 259-数据明文传输的安全问题
  14. NYOJ 613免费馅饼
  15. Python的基本数据类型与运算符号
  16. vue mvc与mvvm
  17. oracle数据库中小数小于1时0不显示
  18. 面向对象的程序设计C++课堂复盘总结 C语言复习+C++基础语法
  19. Python之pip升级命令
  20. 【毕业设计】天气数据分析系统 - python 大数据

热门文章

  1. 错误代码5 你的远程桌面会话服务器,“你的远程桌面会话已结束,可能是下列原因之一”解决办法...
  2. 无纸化案例分析之一——21位标准长方形会议室
  3. 网易微专业web前端开发课程|价值1648元
  4. 【优化算法】遗传算法GA求解混合流水车间调度问题(附C++代码)
  5. Prometheus介绍
  6. ap模式和sta模式共存_wifi芯片及在STA和AP模式共存时的控制方法
  7. C语言复习-存储类别,链接和内存管理
  8. 销售订单_跨公司销售
  9. CentOS系统磁盘目录空间调整
  10. mysql 给用户取消权限_MySQL创建用户并授权及撤销用户权限