プロが教えるわが家の防犯対策術!

apple→りんご、book→本、cat→猫・・・
というように、複数の用語を置換しなければならないのですが、ひとつひとつ置換作業を行うには数が膨大で困っています。
テキストファイルならば専用のシェアウェアがいくつか販売されているようですが、エクセル上でこのような一括置換を行うことは可能でしょうか?エクセル上で作られている図表をそのまま生かした形で置換ができないかと思っています。

A 回答 (4件)

#2です。


>構成→structure」と「構成部品→component・・・
先ほど思い出して、「アドバイスを入れようかどうか」迷いましたが、先にお礼のコメントが入ってしまいました。下記はぜひ考えるべき要領(テクニック)です。
合成語などについて特に
「変換前の単語に付いて、文字数の多い単語を先に(エクセルの表ならより上の行に)もって来るべきです。」
先に変換されてしまうと、短い語句の方で変換は起こらないからです。
=len(A1)などで文字数を余分列にだし、この列も入れて
ソート(降順)することをお勧めします。
降順がいやなら、=12-LEN(A1)など考えてください。12は適当文字数を見繕ったもの。
    • good
    • 0

遅くなってしまいました。



要点は#2さんが作成されていますので、既にご理解されていると思います。

>>「構成→structure」と「構成部品→component」が並
>>存していると、どちらにも置換されませんでした。

という現象ですが、作成済みの対照表を日本語の文字列が長い順にソートして実行する、などしてはダメでしょうか。
    • good
    • 2
この回答へのお礼

ありがとうございます。
それもやってみたのですが・・・それと、
「構成→structure」「structure部品→component」などともしてみたのですが、やはりどちらも変換されないようです。

お礼日時:2004/04/18 11:56

For Next文とReplaceメソッドだけを使ってやって見ました。


Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
d1 = sh1.Range("a1").CurrentRegion.Rows.Count
For i = 1 To d1
a = sh1.Cells(i, "A")
b = sh1.Cells(i, "B")
sh2.Cells.Replace a, b
Next i
End Sub
さて、質問者のケースに合わせて上記コードを少し変更できるでしょうか。
Sheet1を変換語句の対照表の辞書シート、Sheet2を文書シートとします。
まず慎重にやるため、文書シートを別シートとしてコピーしてやってください。元に戻すは出来ませんから。
(1)Sheet1、Sheet2のシート名を自分に合わせて変えること。
(2)変換語句の対照の辞書シートはSheet1で「apple」がA列、「りんご」がB列にあるものとします。「Apple」を含んだ文章はSheet2にあるものとします。
(3)大文字小文字、全角・半角文字、複合語(例whitehouse)を「白い」「家」と置換して良いのか、など問題はあろうが考慮してません。翻訳的な考慮は一切なし。
(4)変換時間にしても、大丈夫と思いますが、多量データでは未テストです。
(5)SearchOrder:=xlByRows, MatchCase:=False,などのパラメーター指定も、略してますが、必要か考えて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます!変換されてます。

語句の一部がバッティングしてしまうと、変換されないようですね。
たとえば「構成→structure」と「構成部品→component」が並存していると、どちらにも置換されませんでした。このあたりは、やむをえないんでしょうか?

お礼日時:2004/04/18 11:28

マクロを作成した方が早いと思います。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
マクロを作ってみたところ、以下のようなものができました。
Cells.Replace What:="目次", Replacement:="CONTENTS", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
あとは、これをたくさんコピーして「目次」「CONTENTS」の部分にそれぞれの単語を入れていけばいい訳ですが、その作業はエディタか何かでできないものでしょうか?
現在、別のエクセルファイルで日英対照単語集を持っています。これを一括加工してマクロの式が書ければと思っています。

お礼日時:2004/04/17 11:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!