ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2106|回复: 13

[求助] VBA like用法求教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-9-24 14:52 | 显示全部楼层 |阅读模式
本帖最后由 dddd64693 于 2021-9-24 15:01 编辑
  1. Public masterNamebox As String '主进线柜
复制代码
  1. Dim rng4 As Range
复制代码
  1. Set rng4 = Workbooks("设备设施导入模板.xlsx").Sheets("设备设施数据").Range("E" & j + k)
复制代码
  1. Private Sub masterName_Change()
  2. masterNamebox = masterName.Value
  3. End Sub
复制代码
  1. If rng1 Like "*masterNamebox*" Then
  2.         rng4.Value = "主进线柜"
复制代码

请问一下,这么写的话,if条件判断能生效吗,我是想在窗体程序中输入待比较内容,然后把这个内容和rng4所代表的单元格内容进行比较

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-24 14:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1.     Public masterNamebox As String '主进线柜
复制代码
  1.   Dim rng4 As Range
复制代码
  1. Set rng4 = Workbooks("设备设施导入模板.xlsx").Sheets("设备设施数据").Range("E" & j + k)
复制代码
  1. Private Sub masterName_Change()
  2. masterNamebox = masterName.Value
  3. End Sub
复制代码
  1.              If rng1 Like "*masterNamebox*" Then
  2.                 rng4.Value = "主进线柜"
复制代码
代码如上

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-24 14:57 | 显示全部楼层
    Public masterNamebox As String '主进线柜

    Dim rng4 As Range

    Set rng4 = Workbooks("设备设施导入模板.xlsx").Sheets("设备设施数据").Range("E" & j + k)

   Private Sub masterName_Change()

      masterNamebox = masterName.Value

   End Sub

    If rng1 Like "*masterNamebox*" Then

                rng4.Value = "主进线柜"

TA的精华主题

TA的得分主题

发表于 2021-9-24 15:26 | 显示全部楼层
楼主,看了您两篇贴子,数层楼,最终才明白,
你是想在TextBox内输入数据后,与rng4进行内容比较,是吗?
那我想问问您,啥时候开始比较?哪一个动作触发比较?
用点击按钮的方法?还是在TextBox内边输入边比较?
进行比较的那段代码在哪个Sub(过程、子程序)里呢?
我到现在都没能搞明白。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-24 15:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
vitrel 发表于 2021-9-24 15:26
楼主,看了您两篇贴子,数层楼,最终才明白,
你是想在TextBox内输入数据后,与rng4进行内容比较,是吗?
...

在模块1的sub copyRng中有比较的内容
image.png image.png 这部分是开始比较的

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-24 15:39 | 显示全部楼层
vitrel 发表于 2021-9-24 15:26
楼主,看了您两篇贴子,数层楼,最终才明白,
你是想在TextBox内输入数据后,与rng4进行内容比较,是吗?
...

触发按钮是直接执行 copyRng过程的,过程中有比较的语句

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-24 15:40 | 显示全部楼层
vitrel 发表于 2021-9-24 15:26
楼主,看了您两篇贴子,数层楼,最终才明白,
你是想在TextBox内输入数据后,与rng4进行内容比较,是吗?
...

放在一个嵌套循环里面,将一个工作簿中的内容逐行比较然后得出结果

TA的精华主题

TA的得分主题

发表于 2021-9-24 15:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
暂时找到一个问题:

If rng1 Like "*masterNamebox*" Then
改为
If rng1 Like "*" & masterNamebox & "*" Then
即可

其实masterNamebox这个公共变量在这里是多余的,
因为单元格可以直接和TextBox的值进行比较,这样写便可以:
If rng1 Like "*" & 电力平台模板生成工具.masterName.Text & "*" Then

TA的精华主题

TA的得分主题

发表于 2021-9-24 16:18 | 显示全部楼层
楼主,您好!
如果下次再有类似的问题,我觉得您应该事先跟大伙说一下,例如:

附件里的两个文件必须同时打开,然后点击xx文件上的“酸菜鱼”按钮弹出窗体,
在窗体哪哪几格应该这样填,填完后点击上面的“生成”按钮触发copyRng(),
copyRng()里有一段xx代码,原来设计是xx用的,结果不起作用,请大家帮我看一下为什么。

您叫别人帮您看代码,总得告诉一下测试方法吧。
否则真的很打击了别人帮您改代码的积极性的。
我口直,您别介意。

TA的精华主题

TA的得分主题

发表于 2021-9-24 16:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 08:27 , Processed in 0.033409 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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