作者kazumi6533 (patrick)
看板Visual_Basic
标题Re: [VBA ] 如何判断一个cell中的字串含有一子字串 …
时间Wed Aug 29 20:13:11 2007
※ 引述《ClubT (风)》之铭言:
: ※ 引述《kazumi6533 (patrick)》之铭言:
: : 请问一下
: : 如果我有一张worksheet,里面某cell有类似
: : aaaBBBBccc之类的字串...因为是从网路上download data下来
: : 以BBBB为ID...其余则是不变
: : 我想要写一个程式判断如果Cell中有BBBB则改为其他(从阵列中读取的ID)
: : 这样要怎麽写呢?
: : 例如把所有的aaaBBBBccc改为aaaDDDDccc
: : 谢谢
: 若是要找字串有没有BBBB
: 假设该自串是 str1
: InInStr(str1, "BBBB")若是等於0则没有
: 大於0则为第几个位置
: 取代字串
: Replace(str1, "BBBB", "DDDD")
: 这样应该就OK了吧
谢谢...这样ok了....不过我现在又遇到了一个问题
我现在写了一支程式...主要流程大概是
1.覆制一个原始sheet到一个新档案
2.修改sheet中每一个字串中包含AAAA的为BBBB...
3.关闭这个新档案
4.重覆这个流程1000次...将每一个AAAA改为我取代的字串
做这个动作的原因是因为我要从网路上下载外部资料
每一个取代的字串其实是下载公式字串的一部份,下载的资料根据
这个字串为参数。可是问题是因为我每一个sheet要下载的资料很多
所以不是一改完就能更新完毕,通常必需等个五到十分钟所有的cells才
能更新完。於是我异想天开的在关闭档案前用timer等了一段固定的时间
,不过後来我发现在这一段等待的时间(即是VBA还再跑的时候),似乎cells
里面的公式都没有在更新,是不是更新要等到VBA结束才会开始
请问有直接强制更新的方法吗?可以让我在改完字串後直接更新,在完成更
新(可以用程式判断知道吗?)後关掉这个档案?我试过.calculate和
workbook.refreshall似乎都没有这样的结果?
另外当我开启一个有读取外部资料的excel档,系统会出现是否要更新的对话
方块,我要怎麽样用VBA使他不出现但是选取要更新?
用displayalert=false似乎只是直接不出现而已?
这个问题困扰我好久,因为我有超过一千笔以上要改,似乎也不能为了不关掉档案
而在同一个档案内新增一千个活页让他慢慢更新...orz..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.35.29