ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] [未解决]运行错误是VBA不支持吗?

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 18:17 | 显示全部楼层
3楼,8楼的回答让我看不懂,真到看了17楼,我明白你们的回答根本没到问题的根本上,是我没注意过程名用了test,让大家误解了,但这个问题我还是不明白呀,有高手指点一下吗(我表达能力不行,让大家见笑了)

TA的精华主题

TA的得分主题

发表于 2010-5-28 18:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
恨自己无知啊!!!!!!
原来“正则”:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。

改了过程名之后,你的代码,好用了吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 18:19 | 显示全部楼层
楼上的老师,我的问题是用了组就不行的原因呀,问题没到根上呀

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 18:22 | 显示全部楼层
原帖由 fsydw 于 2010-5-28 18:18 发表
恨自己无知啊!!!!!!
原来“正则”:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模 ...



问题与过程名无关,我可以负责的说,即使是test也没关系,改一下只不过是不要让大家再往递归上想了

TA的精华主题

TA的得分主题

发表于 2010-5-28 18:33 | 显示全部楼层
别急!慢慢来!

1、先说一下,这段代码,要实现的功能!你想要的结果,是什么?

2、我感觉,问题出在MsgBox .test(arr(i, 1))中,.test的用法上。这里,你想做什么?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 18:45 | 显示全部楼层
原帖由 fsydw 于 2010-5-28 18:33 发表
别急!慢慢来!

1、先说一下,这段代码,要实现的功能!你想要的结果,是什么?

2、我感觉,问题出在MsgBox .test(arr(i, 1))中,.test的用法上。这里,你想做什么?


再次感谢这位老师的回复:

1、功能就是看数组中每一个是否匹配我的表达式,(这个表达式不是很精确,这个我知道,比如日期第一位3时后面就不可能匹配0或1以外的数字,\d不是很精确,但这不是我要解决的问题,可不深究)
2、我想把年、月、日捕获到Year,month和day三个组中有用,(具体怎么用,也不是这个问题的关键),通过正则表达式测试工具,捕获组可以匹配的,有截图为证。
3、当我把上述表达式放在VBA中时,出现不能运行的错误
4、我就是想知道在VBA中使用正则表达式(或者应该准确说在VBA在使用VBscript的正则表达式吧,这个我不清楚,好像应该还有C的,反正我不懂)为什么当我用捕获组来作表达式时会运行错误,这是我问这个问题的关键所在。

再次谢谢各位老师了,不知道是否明白我的意思了(我觉得我表述的应该比较清楚了,又是代码又是图的,汗一个)

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 18:50 | 显示全部楼层
还是.test的用法上我感觉是绝对没问题,别在这个上面继续了

,tset=regex.test,其作用是测试字符串是否匹配表达式。

个人感觉要么是表达式有误,要么是VBA不支持,请达人纠正表达式或者给予不支持的肯定

TA的精华主题

TA的得分主题

发表于 2010-5-28 19:13 | 显示全部楼层
好像明白了你的意思。

我感觉,应该做两个过程。第一个是“测试过程”; 第二个,用“测试过程”,来测试你的数组中的值。

这个“测试过程”,最好是Function过程,也就是自定义函数。

可是,我不会做这第一个过程。盼大师赐教!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 19:17 | 显示全部楼层
原帖由 fsydw 于 2010-5-28 19:13 发表
好像明白了你的意思。

我感觉,应该做两个过程。第一个是“测试过程”; 第二个,用“测试过程”,来测试你的数组中的值。

这个“测试过程”,最好是Function过程,也就是自定义函数。

可是,我不会做这第一 ...


两个过程应该不需要,过程BB(未使用组的)TEST不是全部返回TRUE吗!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-28 19:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如果不用正则表达式而是LIKE,用一个过程和一个函数应该是一个不错的主意,只是我还想用正则表达式,怎么办呢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 04:19 , Processed in 0.033136 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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