Excelについてご質問です。

やりたいことは以下のとおりなのですが、ご教授ください。
・一括置き換え
・A→B、C→D、D→Eといった感じで置き換えたい文字がそれぞれ異なるが対応していて一括して文字の置き換えを行いたい。

以上です。
宜しくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/07/01 16:17:26
  • 終了:2006/07/02 14:59:03

ベストアンサー

id:gong1971 No.3

gong1971回答回数443ベストアンサー獲得回数682006/07/01 21:04:45

ポイント38pt

VBAを使用して一気に処理する方法をご案内します。


  1. 新規ブックを作成します。
  2. 下記urlの手順に従い、プロシージャを作成します。(プロシージャの名前は適宜変更してください)
  3. 下記のコードをコピーして、Public Sub と End Sub の間に貼り付けます。
  4. Visual Basic Editor を閉じます。
  5. 1.で作成したブックのA1に置換前の文字列、B1に置換後の文字列を入力します。
  6. 5.を必要行数分用意します。
  7. 上記のファイルを保存します。(開いたままにしておきます)
  8. 置換対象のファイルを開き、対象のシートを開きます。(対象シートの全てのセルが対象になります)
  9. [ツール]メニューから[マクロ]-[マクロ]をクリックし、2.で設定した名前のマクロを選択し、実行をクリックすると一括で置換が行われます。

※次回以降、7.で保存したファイルを予め開き、8.から操作すればOKです。


■プロシージャの作成方法

http://www.moug.net/skillup/ebb/evbb/evbb012-2.htm

■プロシージャに貼り付けるコード

    i = 1
    With ThisWorkbook.Sheets(1)
        Do
            Cells.Replace What:=.Cells(i, 1), Replacement:=.Cells(i, 2)
            i = i + 1
        Loop Until .Cells(i, 1) = ""
    End With
id:you-01

ずはり!出来ました!

まさにこのようなことをしたかったのです。

ありがとうございます。

2006/07/02 14:58:42

その他の回答(2件)

id:hiro7days No.1

hiro7days回答回数391ベストアンサー獲得回数322006/07/01 16:56:32

ポイント15pt

ツールバー→編集→置換→検索する文字列に置き換えたい前の文字、置換後の文字列に置き換えたい後の文字を入れて、すべて置換を押せば大丈夫です。

http://www.yahoo.co.jp(dammy)

id:you-01

早速のご回答ありがとうございます。

すこし説明が曖昧だった部分があったと思います。

一括置き換えは出来るのですが、例えば…

Aの列の中に「あああ」「いいい」「ううう」と様々な内容のデータが入力されています。

「あああ」→「かかか」

「いいい」→「ききき」

「ううう」→「くくく」

といった感じで書き換えたい文字は最初から定義されている状態です。

それを一回一回書き換えているのが面倒なため、一括して行う方法をお伺いしたいと思います。

マクロなどで実行可能だとは思うのですが…

2006/07/01 18:49:10
id:nina3oy No.2

nina3oy回答回数1ベストアンサー獲得回数02006/07/01 17:14:10

ポイント27pt

セル内の文字列を操作するのか、セル全体を置換したいのかで操作が違ってきます。

別のセルに置換後を表示させるやり方でよかったでしょうか?

差し支えなければもう少し具体的に例を挙げていただければきちんと回答できます。

VBAを使用すれば全く問題ないと思いますが・・・

関数を使用して置換する場合は文字列操作関数を利用するといいですよ。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/moji_2.htm

セル内全体を置換したい場合は、IF関数で置き換えれば良いですが、

セル内の一部の文字列を置換したい場合には、SERCH関数・FIND関数で置換させたい文字列の位置を探し出し、REPLACE関数で置き換えます。

id:gong1971 No.3

gong1971回答回数443ベストアンサー獲得回数682006/07/01 21:04:45ここでベストアンサー

ポイント38pt

VBAを使用して一気に処理する方法をご案内します。


  1. 新規ブックを作成します。
  2. 下記urlの手順に従い、プロシージャを作成します。(プロシージャの名前は適宜変更してください)
  3. 下記のコードをコピーして、Public Sub と End Sub の間に貼り付けます。
  4. Visual Basic Editor を閉じます。
  5. 1.で作成したブックのA1に置換前の文字列、B1に置換後の文字列を入力します。
  6. 5.を必要行数分用意します。
  7. 上記のファイルを保存します。(開いたままにしておきます)
  8. 置換対象のファイルを開き、対象のシートを開きます。(対象シートの全てのセルが対象になります)
  9. [ツール]メニューから[マクロ]-[マクロ]をクリックし、2.で設定した名前のマクロを選択し、実行をクリックすると一括で置換が行われます。

※次回以降、7.で保存したファイルを予め開き、8.から操作すればOKです。


■プロシージャの作成方法

http://www.moug.net/skillup/ebb/evbb/evbb012-2.htm

■プロシージャに貼り付けるコード

    i = 1
    With ThisWorkbook.Sheets(1)
        Do
            Cells.Replace What:=.Cells(i, 1), Replacement:=.Cells(i, 2)
            i = i + 1
        Loop Until .Cells(i, 1) = ""
    End With
id:you-01

ずはり!出来ました!

まさにこのようなことをしたかったのです。

ありがとうございます。

2006/07/02 14:58:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません