- ベストアンサー
excel2003の置換について質問です。セル内の一部の文字を置換する
excel2003の置換について質問です。セル内の一部の文字を置換する方法を教えてください。EX ○○します→○○する(同一セルの中の”します”の部分のみ”する”に換えたい) 数式ではない方法を教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
No.5・6です! 返信が遅くなってごめんなさい。 メールを受け取る設定をしていなかったのでなかなか気づきませんでした! 「する」を太字・赤字 にしたいと言うことですね! なかなか良い案が浮かびませんので前回のVBAのコードの後に、もう一つVBAを継ぎ足した感じですが・・・ Sub test() Dim i, j As Long For i = 1 To ActiveSheet.UsedRange.Rows.Count For j = 1 To ActiveSheet.UsedRange.Columns.Count Cells(i, j) = Replace(Cells(i, j), "します", "する") Next j Next i Dim k, L, M As Long Dim str As String For L = 1 To ActiveSheet.UsedRange.Rows.Count For M = 1 To ActiveSheet.UsedRange.Columns.Count For k = 1 To Len(Cells(L, M)) str = Mid(Cells(L, M), k, 2) If str = "する" Then With Cells(L, M).Characters(Start:=k, Length:=2).Font .ColorIndex = 3 .Bold = True End With End If Next k Next M Next L End Sub 結局、まず、「します」を「する」に換えた後で、各セルの最初から二文字を舐めるように調べて 「する」という文字であればそれを 赤字・太字 にするようにしてみました。 この程度しか思いつきませんが お役に立ちますかね?m(__)m
その他の回答 (6)
- tom04
- ベストアンサー率49% (2537/5117)
No.5です! たびたびごめんなさい。 前回の投稿で抜けているところがありました。 >操作したいSheet見出し上で右クリック → ↓のコードをコピー&ペーストしてマクロを実行してみてください。 の部分を >操作したいSheet見出し上で右クリック → コードの表示 → ↓のコードをコピー&ペーストしてマクロを実行してみてください。 に訂正してください。 余計なお世話で当然判っていらっしゃると思いますが・・・ 何度も失礼しました。m(__)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに回答は出ていますので、参考程度で・・・ 一例です。 操作したいSheet見出し上で右クリック → ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i, j As Long For i = 1 To ActiveSheet.UsedRange.Rows.Count For j = 1 To ActiveSheet.UsedRange.Columns.Count If Cells(i, j) Like "*" & "します" & "*" Then Cells(i, j) = Replace(Cells(i, j), "します", "する") End If Next j Next i End Sub 参考になれば幸いです。m(__)m
「置換」画面の右下の「オプション」をクリックし、「検索場所」を 「ブック」にすると、ブック全体を置換します。
- DIooggooID
- ベストアンサー率27% (1730/6405)
下記のマクロで、 選択した範囲に限定して、文字を置換します。 Sub xxx() Dim セル As Range For Each セル In Selection セル.Value = Replace(セル.Value, "します", "する") Next セル End Sub
- cider4
- ベストアンサー率51% (640/1249)
意味を取り違えているかもしれませんが、 ctrlキー+Hキーを押して置換のダイアログを出します。 検索文字に「します」と入力し、置換後の文字列に「する」と入れ「置換」を押せば単純に置換しますが…。
- mu2011
- ベストアンサー率38% (1910/4994)
編集→置換→検索文字列欄に「します」、置換文字列覧に「する」でお試しください。 因みに「」は入力不要です。
補足
ありがとうございます。お教えいただいた方法だと、その文字が入ったセル内の全ての文字が置換されてしまいます。例)1つのセル内の文字「一つ 二つ 三つ(全て通常書式)」→「一つ 二つ 三つ(”三つ”のみ太字、赤文字にしたい)。その際お教えいただいた方法だと、一つ 二つ 三つ 全ての文字が太字、赤文字に置換されてしまうのですが、”三つ”のみ効率的に置換できる方法をご存知ないでしょうか?
補足
ご回答ありがとうございます。 さらにご質問で申し訳ないのですが、先述の例で言いますと、 ”する”を太字・赤文字にするにはマクロにどう記したらよいでしょうか?