※ 引述《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