看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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