Option Base 0 Sub MassReplace()
While Not EOF(Fn)
Close #Fn
註:
'底下是 Replace 的參數說明: 'What 必選的參數。要尋覓的字串翻譯
'LookAt 選擇性的參數。是不是需全字不異。可為下列 XlLookAt 常數之一:xlWhole 或 xlPart。
Cells.Replace What:=Src, Replacement:=Rpl, LookAt:=xlPart, _
Function ReplaceText(Src As String, Rpl As String)
arrStr = Split(InputStr, "翻譯社") '把讀入的文字列依逗號分成兩個字串, 置於 arrStr 陣列裡
End If
"如何用find replace做大量分歧字串的代替?" 這篇文章是示範在 Word 裡做大量字串取代的方式,如果在 Excel 裡有大量分歧的字串要代替,可以用底下的方法:
'Replacement 必選的參數。要置換的字串。
SearchOrder:=xlByRows翻譯社 MatchCase:=False翻譯社 SearchFormat:=False, _
1. "C:\Replace.txt" 可以依所需修改成
2. 因為程式裡用 Cells.Replace 是沒有指定工作表,就是針對 Active 的工作表,而沒有指定 Cell 的 Row, Column,所所以針對整張工作表所有的儲存格做代替翻譯
3. (2017/7/21增註) 在 Machintosh 麥金塔電腦版的 Excel 裡面履行,需刪除程式碼裡的「, SearchFormat:=False, _ ReplaceFormat:=False」不然履行會産生毛病而出現 "找不到指定的引數" (感謝李先生來函詢問)
Call ReplaceText(arrStr(0), arrStr(1)) '履行取代
Step 1) 在 Windows 記事本或 WordPad 裡輸入 "要被庖代的字串翻譯社要用來代替的字串",例如要把"2330"代替成"台積電",要把"2337"取代成"旺宏",就輸入: 2330,台積電 2337翻譯社旺宏 像如許每一組一行翻譯記事本可編纂的資料巨細受限在 64KB,假如資料非常多,建議利用 WordPad。
Step 4) 回到 Excel 工作表視窗,切換到要做庖代的工作表,然後按 Alt+F8,選擇 MassReplace 這個巨集按「履行」令它履行。
'ReplaceFormat 選擇性的參數。是不是庖代格式。True/False布林值。(Mac版無此參數)
Application.ScreenUpdating = True '畫面恢復更新
Open "C:\Replace.txt" For Input As #Fn '開啟 Replace.txt 檔 Application.ScreenUpdating = False '畫面暫停更新
Wend
Step 2) 把輸入好的資料存入 C:\ 定名為 Replace.txt Step 3) 開啟要做取代的活頁簿,按 Alt+F11 進入 VBA 編纂情況,插入一個模組,複製底下的程式碼,貼入模組裡面。
'這個函式會在全部工作表裡搜索 Src 字串翻譯社 將它代替為 Rpl 字串
Dim arrStr() As String, InputStr As String
If Len(InputStr) > 0 Then '略過無字串的空行
Fn = FreeFile
End Function
Line Input #Fn, InputStr '從檔案讀出一列,
ReplaceFormat:=False
留言列表