プロが教える店舗&オフィスのセキュリティ対策術

エクセル2007で海外工場に展開する量産資料を作っています。
日本語で作成したあとで、中国語、英語、スペイン語などに翻訳して発行するのですが、セル内で使っている単語はほぼ決まっており、別シートに置換の準備しておいて、コマンドボタンを押せば、別の言語に一括置換できないか、と考えています。
当方、エクセルの入門編は一通り終えて、これを機会にマクロやVBCの学習をしようと思っているレベルです。出来だけ簡単な方法でお教えください。よろしくお願いします。

A 回答 (2件)

こんばんは!



>別シートに置換の準備しておいて・・・

とありますので、↓の画像のようにSheet2に置換のための表を作成しておきます。

元データがSheet1にあるとして・・・
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub 置換() 'この行から
Dim i As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
For i = 2 To wS2.Cells(Rows.Count, "A").End(xlUp).Row
wS1.Cells.Replace what:=wS2.Cells(i, "A"), replacement:=wS2.Cells(i, "B"), lookat:=xlPart
Next i
End Sub 'この行まで

>コマンドボタンを押せば、別の言語に一括置換できないか、と考えています

のようにコマンドボタンで操作したい場合は
Sheet1にコマンドボタンを挿入 → コマンドボタン上でダブルクリック → VBE画面に
上記コードの2行目~最後から2行目をそのままコピー&ペーストしても大丈夫だと思います。

※ 本来であればコマンドボタンを配置したSheetに関しては
Sheet名の宣言は不要です。m(_ _)m
「エクセルで別シートから一括置換する方法」の回答画像1
    • good
    • 0
この回答へのお礼

すぐにお礼がしたかったのですが、やり方が分からず今日になってしまい申し訳ありませんでした。簡単でわかりやすいアドバイスありがとうございました。

お礼日時:2013/11/19 23:26

おはようございます



私が行っている方法です
1. 言語シートを作成します。
2. 言語シートのB列以降に各シートで使用する言語を設定します。例:B列-日本語、C列-英語、D列-スペイン語
3. 全てのシートで使用する単語、文章を各列の各行に記入をしていきます。他言語については日本語からの翻訳となります。
4. 表紙となるシートに言語選択ボタンを作ります。
5. 選択した言語に従い言語シートのA列に選択した言語の各行の内容をコピーします。
6. 各シートでは、単純に言語シートのA列該当行を参照する関数を埋め込んでおきます。

言語選択ボタン(リストボックス)にて単純なプログラムが必要ですが、各言語のコピー、参照は全て単純な関数を埋め込むだけです。

言語シートを画像で添付できれば一目で理解できると思いますが、ここの画像は解像度が低すぎるので残念ながら載せても意味の無いものになります。
    • good
    • 0
この回答へのお礼

やり方が分からずお礼が遅れて申し訳ありませんでした。
ありがとうございました。

お礼日時:2013/11/19 23:22

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