- ベストアンサー
VBAでの文字列置換
- VBAを使用してExcelのワークシートで文字列の置換を行いたいです。
- 置換する文字列と置換後の文字列のリストを追加および変更する必要があります。
- Word用のVBAマクロの経験はありますが、Excelでは初めての利用です。具体的な手順を教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ExcelもWordと同じくマクロ記録を録る事ができますから、 実際に「置換」作業をやってみてください。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2012/7/9 ユーザー名 : end-u ' ' Cells.Replace What:="A", Replacement:="'001", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="B", Replacement:="'002", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub こんな感じのが録れます。 [検索と置換]ダイアログの[オプション]で、必要に応じて 「セル内容が完全に同一..」などのオプションを設定して下さい。 構文の詳細は[Replaceメソッド]のヘルプを参照して下さい。 #置換後文字が 『0』から始まるなら"'001"のように先頭にプリフィックスをつけるのを忘れずに。 >ただ置換リストは追加、変更する必要があります。 この場合、作業用シートに「置換前」「置換後」の文字を入力して、それをLoop処理する、など考えられます。 例えば「Sheet1」のA1以降に「置換前」、B1以降に「置換後」の文字があるとすれば以下の感じ。 Sub test() Dim i As Long With Worksheets("Sheet1").Cells For i = 1 To .Item(.Rows.Count, 1).End(xlUp).Row MsgBox "What " & .Item(i, 1).Value & vbLf & _ "Replacement " & .Item(i, 2).Value Next End With End Sub