- 締切済み
マクロで簡単に置換する方法を教えてください
マクロで各シートごとで値の変動する文字に置換したいのですが、どうすればいいでしょうか。 たとえばシート1では○の文字に入っているものを東京に、シート2では大阪にという感じです。 それぞれのシートの上部には○、△、□などの記号が入力してあり、隣のセルに置換したい文字を入力すればそれに置換されるというものです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#154487
回答No.1
Private Sub Worksheet_Change(ByVal Target As Range) を使用して、直接ワークシートにプログラムを組んでみてはいかがでしょうか? 例えばそこに、 If Not Application.Intersect(Target, ○○○) Is Nothing Then ※「○○○」は変更されたセルを指定 を使用することで、指定したセルが変更された時にプログラムを実行するようにできます。 例えば、セルA1に「○」、セルB1に「置換する文字」を入力する場合、 If Not Application.Intersect(Target, Range("B1")) Is Nothing Then 'もしB1の値が変更されたら・・・ A1のセルをB1に置換するプログラム End If とすることで、可能と思われます。
補足
回答ありがとうございます。 もしかしたら最初の質問で情報が足りなかったかもしれませんので加えさせていただきます。 シート上部のA1セルには○、A2セルには△、A3セルには□が記入済み、隣のセルに置換したい文字を入力するとシート全体にある記号が置換したい文字に変更するというものです。 現在1つのシート上に○や△などの記号が50個ほどあり、それらは文章の形で点在しています。つまりセルを指定できない状態です。そこから記号を検索して置換したいのです。 このような場合でも大丈夫なのでしょうか。 VBA初心者なのでまだ試せていません。 プロシージボックスではどのイベントを選べばいいのでしょうか。またオブジェクトボックスに記入するコードをそのまま教えていただけると助かります。