Excel VBA高级编程 - 根据关键字自动搜索,自动生成下拉菜单
关注微信公众号:万能的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高级编程 - 根据关键字自动搜索,自动生成下拉菜单相关推荐
- Excel VBA高级编程-关键字查找数据库
关注公众号:万能的Excel 并回复[关键字]获取源文件! 功能说明: 这个表格的主要功能是:根据输入的关键字找到数据库中,正确的公司名,生成一个下拉菜单,再根据正确的公司名,找到对应的No生 ...
- Excel VBA高级编程 - 根据关键词实时筛选,自动生成下拉菜单
关注公众号:万能的Excel 并回复[实时筛选]获取源文件! 功能说明: 当客户群体到达一定数量后,统计信息往往编程一项非常繁琐的工作.根据关键字自动搜索并且列出完整的信息编程一项必不可少的功 ...
- Excel VBA高级编程 -自动去除重复项 自动求和
大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...
- Excel表格中如何快速生成下拉菜单
Excel表格中如何快速生成下拉菜单 目录 Excel表格中如何快速生成下拉菜单 1.例如下表先手动输入前几组的"等级"类别"优良中差" 2.同时按住 alt ...
- 免费资源下载:暗色色系的超棒搜索框和下拉菜单UI欣赏
为什么80%的码农都做不了架构师?>>> 日期:2012-7-5 来源:GBin1.com 在今天的免费素材下载中,我们推荐来自法国的UI设计师Alexandra Nuad的 ...
- Excel VBA高级编程 -根据日期查找数据
关注公众号:万能的Excel 并回复[日期搜索]获取源文件! 功能说明: 打印出货单的时候,经常会需要从数据库中查询一段时间内的所有数据 本工作表使用VBA实现了如下功能: 1.实时统计重复项 ...
- Excel VBA 高级编程-库存管理-出入库系统
大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...
- Excel VBA 高级编程-来自直男的Excel表白
关注公众号:万能的Excel 并回复[表白]获取源文件! 七夕快到了,想用另类的表白方式,奈何自己不懂编程?那我就叫你如何用Excel 表白吧! 功能说明: 1.自动播放想说的话 2.用数学公 ...
- Excel VBA高级编程-SQL检索(二)合并相同项并求和
大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...
最新文章
- Struts2中Action接收参数
- 基于神经网络的溶解度预测和回归分析
- ORACLE 日期比较
- python中@wraps的作用
- 嵩天python笔记_嵩天Python学习笔记-05
- python append函数_Python程序性能分析
- python能做什么-学了Python都能做什么
- JS面向对象的程序设计(二)
- lnmp一键安装的步骤
- C语言-流程控制-输出华氏-摄氏温度转换表
- 全长扩增子:是时候展示真正的技术了
- 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程,宏、插件和辅助的实战编写笔记和视频记录
- 259-数据明文传输的安全问题
- NYOJ 613免费馅饼
- Python的基本数据类型与运算符号
- vue mvc与mvvm
- oracle数据库中小数小于1时0不显示
- 面向对象的程序设计C++课堂复盘总结 C语言复习+C++基础语法
- Python之pip升级命令
- 【毕业设计】天气数据分析系统 - python 大数据
热门文章
- 错误代码5 你的远程桌面会话服务器,“你的远程桌面会话已结束,可能是下列原因之一”解决办法...
- 无纸化案例分析之一——21位标准长方形会议室
- 网易微专业web前端开发课程|价值1648元
- 【优化算法】遗传算法GA求解混合流水车间调度问题(附C++代码)
- Prometheus介绍
- ap模式和sta模式共存_wifi芯片及在STA和AP模式共存时的控制方法
- C语言复习-存储类别,链接和内存管理
- 销售订单_跨公司销售
- CentOS系统磁盘目录空间调整
- mysql 给用户取消权限_MySQL创建用户并授权及撤销用户权限