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