ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 学良

[分享] 速查●成语词典

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2022-9-30 15:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学良 发表于 2022-1-23 10:34
感谢 27 楼 39660519 老师提供的资料!

我用SQL做的多条件查询。

成语查询.part1.rar

2 MB, 下载次数: 146

成语查询.part2.rar

2 MB, 下载次数: 139

成语查询.part3.rar

1.61 MB, 下载次数: 137

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-10-3 11:16 | 显示全部楼层
感谢各位大神老师的分享!

TA的精华主题

TA的得分主题

发表于 2022-10-3 11:40 | 显示全部楼层
39660519 发表于 2022-9-30 15:22
我用SQL做的多条件查询。

大神好!我下载后提示宏被禁用,启用宏后还不能运行,请指教!谢谢

TA的精华主题

TA的得分主题

发表于 2022-10-3 11:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-10-3 15:55 | 显示全部楼层

我用的几台电脑都没有问题,你换台电脑试试,可能是你的设置问题,具体我也不清楚,你去信任中心看看

TA的精华主题

TA的得分主题

发表于 2022-10-3 16:13 | 显示全部楼层
39660519 发表于 2022-10-3 15:55
我用的几台电脑都没有问题,你换台电脑试试,可能是你的设置问题,具体我也不清楚,你去信任中心看看

信任中心已设置过,自己编制的宏都可以用!下载的这个却不能用!

TA的精华主题

TA的得分主题

发表于 2022-10-3 16:36 | 显示全部楼层
前进者 发表于 2022-10-3 16:13
信任中心已设置过,自己编制的宏都可以用!下载的这个却不能用!

我另存为03版本,你试试,要不你自己复制代码写进去

  1. Function 去掉重复字节(内容, 字节)
  2.     Dim 正则对象 As Object
  3.     Dim 匹配值集合 As Object, 匹配值 As Object
  4.     Set 正则对象 = CreateObject("VBSCRIPT.REGEXP")
  5.     With 正则对象
  6.         .Global = True
  7.         .MultiLine = True
  8.         .IgnoreCase = True
  9.         .Pattern = 字节 & "+"
  10.         去掉重复字节 = .Replace(内容, 字节)
  11.     End With
  12. End Function

  13. Function 查询语句开头()
  14.     With Sheets("数据存储")
  15.         For A = 1 To 12
  16.             If A = 1 Then
  17.                 查询语句开头 = .Cells(1, A).Value
  18.             Else
  19.                 查询语句开头 = 查询语句开头 & "," & .Cells(1, A).Value
  20.             End If
  21.         Next A
  22.         查询语句开头 = "Select " & 查询语句开头 & " from [数据存储$] where "
  23.     End With
  24. End Function

  25. Function 成语查询语句条件()
  26.     With Sheets("查询条件")
  27.         包含内容 = .Cells(3, "B").Value
  28.         If 包含内容 = "" Then
  29.             包含内容 = "%"
  30.         Else
  31.             包含内容 = "%" & 包含内容 & "%"
  32.         End If
  33.         包含某一个字 = .Cells(4, "B").Value
  34.         If 包含某一个字 = "" Then
  35.             包含某一个字 = "%"
  36.         Else
  37.             包含某一个字 = "%[" & 包含某一个字 & "]%"
  38.         End If
  39.         从首字开始 = .Cells(5, "B").Value
  40.         If 从首字开始 = "" Then
  41.             从首字开始 = "%"
  42.         Else
  43.             从首字开始 = 从首字开始 & "%"
  44.         End If
  45.         从尾字开始 = .Cells(6, "B").Value
  46.         If 从尾字开始 = "" Then
  47.             从尾字开始 = "%"
  48.         Else
  49.             从尾字开始 = "%" & 从尾字开始
  50.         End If
  51.         成语查询语句条件 = "成语 like '" & 去掉重复字节(从首字开始 & 包含内容 & 包含某一个字 & 从尾字开始, "%") & "'"
  52.     End With
  53. End Function

  54. Function 四字结构查询语句条件()
  55.     With Sheets("查询条件")
  56.         位置1 = .Cells(3, "F").Value
  57.         If 位置1 = "" Then 位置1 = "_"
  58.         
  59.         位置2 = .Cells(4, "F").Value
  60.         If 位置2 = "" Then 位置2 = "_"
  61.         
  62.         位置3 = .Cells(5, "F").Value
  63.         If 位置3 = "" Then 位置3 = "_"
  64.         
  65.         位置4 = .Cells(6, "F").Value
  66.         If 位置4 = "" Then 位置4 = "_"
  67.         
  68.         内容合并 = 位置1 & 位置2 & 位置3 & 位置4
  69.         
  70.         四字结构查询语句条件 = " AND 四字结构 like '" & 内容合并 & "'"
  71.         If 内容合并 = "____" Then 四字结构查询语句条件 = ""
  72.     End With
  73. End Function

  74. Sub 成语查询()
  75.     Set Conn = CreateObject("ADODB.Connection") '后期绑定
  76.     Set Rst = CreateObject("ADODB.Recordset")
  77.     Path = ThisWorkbook.FullName
  78.     If Application.Version * 1 <= 11 Then '03版以后 Ace的区别
  79.         strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & Path
  80.     Else
  81.         strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Path & ";Extended Properties=""Excel 12.0;HDR=YES"";"""
  82.     End If
  83.     Conn.Open strConn '打开数据库链接
  84.     StrSQL = 查询语句开头 & 成语查询语句条件 & 四字结构查询语句条件
  85.     Set Rst = Conn.Execute(StrSQL)
  86.     Application.ScreenUpdating = False
  87.     With Sheets("查询结果")
  88.         .Cells.Clear
  89.         For i = 0 To Rst.Fields.Count - 1  '填写标题
  90.             .Cells(1, i + 1) = Rst.Fields(i).Name
  91.         Next i
  92.         .Range("A2").CopyFromRecordset Rst
  93.         '.Cells.EntireColumn.AutoFit '自动调整列宽
  94.         '.Cells.EntireColumn.AutoFit '自动调整列宽
  95.     End With
  96.     Application.ScreenUpdating = True
  97.     Rst.Close '关闭数据库连接
  98.     Conn.Close
  99.     Set Conn = Nothing
  100.     Set Rst = Nothing
  101.     Sheets("查询结果").Select
  102. End Sub
复制代码


成语查询.haozip01.zip

2 MB, 下载次数: 20

成语查询.haozip02.zip

2 MB, 下载次数: 19

成语查询.haozip03.zip

1.27 MB, 下载次数: 21

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-10-3 21:29 | 显示全部楼层
谢谢大神,原因我找到了,不是版本问题!

TA的精华主题

TA的得分主题

发表于 2023-1-24 14:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享...

TA的精华主题

TA的得分主题

发表于 2023-12-14 16:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 00:46 , Processed in 0.035886 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表