• ベストアンサー

WORDで置換

WORDで 例)今日の売り上げは38000円でした。明日の目標は40000円です。 それを置換機能を使って 例)今日の売り上げは38,000円でした。明日の目標は40,000円です。 と言う風に三桁区切りに出来ないのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • liv2007
  • ベストアンサー率81% (378/464)
回答No.1

置換ではなくマクロを使用すると出来るようです。 以下に転載します。 ※バージョンによって多少メニューは違うと思います が、似たようなものがあるはずです。 http://blog.livedoor.jp/daniel_pc/ ◇──────────────────────────────── 【2】行列のできるパソコン相談所 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  第2回:Wordの数値を一括して桁区切りにしたい!!  Q.[Win全般]  Wordの文書や表の中の数値に桁区切りを まとめてつける方法を教えてください。                            (K.Hさん)  ----------------------------------------------------------------  ----------------------------------------------------------------  A.  Excelであれば、セルの書式で変更可能ですが、  Wordだと基本機能では変換できないようですね。  この桁区切りをWordで行う方法としては、  マクロを利用することで解決できます。  次の手順で操作してみてください。  1. Wordのメニューから[ツール]-[マクロ]を選択  2. マクロ名「桁区切り」と入力して、[作成]ボタンを押す  3. エディタが開くので、「Sub 桁区切り()」を含む文字をすべて削除  4. 以下のコードをコピーして貼り付け  5. メニューから[ファイル]-[上書き保存]として、エディタを閉じます  6. Wordに戻り、桁区切り数値へと変換したい部分を範囲選択します。    文書全体の数値を変換するならば、 [Ctrl+a]を押すと全体を選択できます。  7. 文書を選択した状態で、[ツール]-[マクロ]を選択し、   sep_commaクリックして、[実行]ボタンを押してください。 ---(ここから下)--------------------------------------------------- Sub sep_comma() Dim Rng As Range Dim SelectionEnd As Long Dim RngEnd As Long Dim RngRepEnd As Long Set Rng = Selection.Range SelectionEnd = Rng.End Rng.Find.Text = "[0-9]{4,}" Rng.Find.MatchWildcards = True Do While Rng.Find.Execute = True And Rng.End <= SelectionEnd RngEnd = Rng.End Rng.Text = Format(Rng.Text, "#,##0") RngRepEnd = Rng.End SelectionEnd = SelectionEnd + (RngRepEnd - RngEnd) Rng.Collapse wdCollapseEnd Loop Set Rng = Nothing End Sub ---(ここまで)-----------------------------------------------------  これで、桁区切りの数値へと変換されたと思います。  無事動作しましたか?  このマクロは半角の数値のみへの対応となっていますので、  全角も変換したいという方は、ぜひ拡張してみてください。  それにしても、Wordに既にありそうで存在しない機能でしたね。  置換などでできるのではないかと私も思っていました。  今回は読者の方からのご質問でした。  内容が少し難しいとも思いましたが、  私も興味があることだったので こちらの質問を選ばさせていただきました。                            (ダニエル)

Big_X
質問者

お礼

ヤッターヤッター出来た出来た出来ました。見事に出来ましたました。ありがとうありがとうございます。マクロって事に気がつきませんでした。それにいいサイトも紹介してくださって有難うございます。なんてお礼を言っていいやら。本当に有難うございました。

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

1. 編集(E)→置換(E)...を選択し、検索する文字列に「([0-9])([0-9]{3})([0-9]{3}円)」を入力、置換後の文字列に「\1,\2,\3」を入力、「ワイルドカードを使用する」にチェックを入れて置換を実行。 2. 編集(E)→置換(E)...を選択し、検索する文字列に「([0-9])([0-9]{3}円)」を入力、置換後の文字列に「\1,\2」を入力、「ワイルドカードを使用する」にチェックを入れて置換を実行。 これで、文書に含まれる金額が999,999,999円以下(10億円未満)であれば3桁区切りになります。 もしも文書に含まれる金額が999,999円以下(100万円未満)であれば、上記手順のうち2.だけでOKです。

Big_X
質問者

お礼

有難うございました。7桁は正常に出来たのですが他の桁数になると出来ませんでした。私のやり方がまずかったのかわかりませんが参考になりました。

関連するQ&A