検索/置換ループを機能させるのに問題があります。マクロを自分のワークブックに保存して、簡単に検索/置換したい 122 個の値のリストがあります。値がそれぞれ論理文字列名で定義され、検索/置換が文字列をインクリメントするように単純化しようとしています。ここに私が持っているものがあります:
Sub utf8_cleanup()
' reference: http://www.i18nqa.com/debug/utf8-debug.html
Dim find_prefix As String
Dim replace_prefix As String
Dim find_1 As String
Dim replace_1 As String
Dim find_2 As String
Dim replace_2 As String
Dim find_3 As String
Dim replace_3 As String
Dim replace_count As Integer
find_prefix = "find_"
replace_prefix = "replace_"
find_1 = "Â"
replace_1 = ""
find_2 = "–"
replace_2 = "–"
find_3 = "—"
replace_3 = "—"
' 122 of these pairs
replace_count = 1
Do Until replace_count = 122
find_value = find_prefix & replace_count
replace_value = replace_prefix & replace_count
Debug.Print "Finding " & find_value & "; replacing with " & replace_value
Cells.Replace What:=find_value, Replacement:=replace_value, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
Debug.Print "Done " & replace_count & " replacement(s)"
replace_count = replace_count + 1
Loop
End Sub
最終結果は、これらの文字列の値ではなく、find_value
" " と " "のテキストを検索するマクロです(たとえば、" " に変換するか、" " に変換する必要があります)。これはばかばかしいほど単純なことだと確信しています。VBA に触れてから数か月が経ちました。replace_value
find_2
Â
replace_2
-
前もって感謝します。