作者genow ()
看板Office
标题[算表] VBA搜寻字串中所有符合条件位置及值
时间Sun Jun 23 12:47:26 2019
软体:EXCEL
版本:2010
您好
我的问题是想从甲字串第1行的字串
去搜寻乙字串第1行中相同内容的位置
然後纪录对应乙字串第2行的内容
所以以下表为例,输出的结果会是
黄色的结果
甲字串(1栏) 乙字串2(2栏)
(第1行) (第1行) (第2行)
AAA AAA aaa
BBB GGG ggg
CCC
AAA aaa
DDD FFF fff
...
AAA aaa
... PPP ppp
... ... ...
... ...
我的作法是
1、先分析甲字串阵列大小
2、然後用回圈从甲字串第1笔资料开始用match指令找出乙字串对应位置
3、再利用index找出乙字串第2行对应内容
我遇到的问题是,只会找到乙字串符合条件的第1笔位置就停止了
无法搜寻所有符合条件的位置
我有想到解决的方式,是利用另一个回圈加上判断式
当找出第1笔後,就从它的位置N,下一个位置N+1再做一次
直到乙字串所有位置跑完
但是感觉这样做很不程式XDDD
请问是否有适当的指令可以完成呢 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.240.87.129 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1561265248.A.5EE.html
※ 编辑: genow (111.240.87.129 台湾), 06/23/2019 12:49:33
1F:→ soyoso: 巢状回圈,外圈甲字串范围内,内圈判断是否乙字串第一栏是 06/23 13:04
2F:→ soyoso: 否符合甲字串,符合抓出乙字串范围第二栏的值 06/23 13:04
3F:→ soyoso: 内圈也可用range.find来搜寻甲字串的储存格 06/23 13:06
4F:→ soyoso: range.offset来取出第二栏的值 06/23 13:06
5F:→ soyoso: 或回圈於甲字串范围,以range.autofilter筛选方式 06/23 13:09
6F:→ genow: 感谢 没有想过这样做 谢谢! 06/23 13:26