• 締切済み

Wordで、罫線内に入力した数字に、自動的にカンマを入力する方法

Word2000を使ってます。 罫線を使った表を作成していて、数字を打ち込む列があり、入力した数字を自動的に3桁ずつ,(カンマ)で区切るように設定したいのですが、Wordでは可能でしょうか? Excelでは書式設定みたいな感じでできたと思うんですが、どうなんでしょう。よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

#4のものです。右詰にすべきと思い#4を改良します。 Sub test11() r = Selection.Tables(1).Rows.Count c = Selection.Tables(1).Columns.Count For i = 1 To r For j = 1 To c Selection.Tables(1).Cell(i, j).Select t = Selection.Text t = Mid(t, 1, Len(t) - 1) s = Format(t, "##,###") Selection.TypeText Text:= _ Mid(" ", 1, 13 - Len(s)) & s Next j Next i End Sub

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2のものです。#2の延長線上の回答ですが 一度に表のセル全てを書式設定するワードVBAです。 Sub test11() r = Selection.Tables(1).Rows.Count c = Selection.Tables(1).Columns.Count For i = 1 To r For j = 1 To c Selection.Tables(1).Cell(i, j).Select t = Selection.Text t = Mid(t, 1, Len(t) - 1) s = Format(t, "##,###") Selection.TypeText Text:=s Next j Next i End Sub

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#2のものです。補足にお書きになっている件は、残念ながら、#2の回答のマクロでは、1つのセル(または文書中の数字文字列1つ)しか、範囲指定して、書式設定できません。 全セルを対象にやるマクロを考えてみますが、非力なもので出来るやら。 ボタンにマクロを設定するとか、メニューに設定する方法も回答を上げる前にやって見たのですが、エクセルVBAと勝手が違って出来ませんでした。出きれば編集が少し手軽になりますよね。

iktzy
質問者

お礼

ええ、ホントおっしゃる通りなんです。数値打ち込むセルが飛び飛びで多少多いもので、お手を煩わせています。電器店に寄った折、コンピュータ書コーナーをのぞいてみたんですが、エクセルVBAの本はたくさんある一方、ワードVBAの本は見当たりませんでした。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ワードのマクロの画面(ツール-マクロ-VBE)に Sub Macro19() t = Selection.Text Selection.TypeText Text:=Format(t, "###,###,###") End Sub を貼りつけます。Selection以下###")までは1行にしてください。このままでも良いし、"##,###"の部分は、エクセルの数値の書式にならい、適当に変えてください。 ワードの表のセルに数字を112233445などとカンマ無しで 打ちこみ、マウスで数値全桁を範囲指定(黒反転)させて、マクロ(ツール-マクロ-マクロ)のMacro19を指定して「実行」をクリックしてください。 セルの数字が112,233,445となります。

iktzy
質問者

お礼

おおっ、すごい! ありがとうございました。これで作業、ぐっと楽になります!! マクロってあんまり意味わかってないんですけど、セキュリティと関係あるんでしょうか? 「マクロの有効化」という手続きをしたときに、セキュリティレベルを中に変更しましたので。 ビジュアルベーシックって便利ですね。そのうち勉強してみたくなりました。

iktzy
質問者

補足

複数のセルをまたいで一度に、複数の数値にカンマを挿入することはできますか? セル間で範囲指定してマクロを実行すると、一番上のセルの余白が拡大してしまって、カンマも挿入されないのですけれども。セルの全選択と、数値全桁の範囲指定は、作業として別ということでしょうか?

  • shota_TK
  • ベストアンサー率43% (967/2200)
回答No.1

あることはありますが,ちょっと大変です. 以下の手順で練習してみて下さい. まず,1行3列の表を挿入します. 最初のセル内をクリックし,「罫線→計算式」で計算式ウィンドウを開き,一番上の「計算式」のところの「= 」のところに「12345」と入力し,その下の「表示形式」のところを「#.##0」を選んでOKを押します.すると,「12,345」と表示されますね? 次に,この「12,345」をコピーして,残り2つのセルに貼り付けます. 「編集→すべて選択」し,選択された部分を右クリックして「フィールドコートの表示/非表示」を選びます.これで,フィールドコートが表示され,「12,345」のところに{ =12345\#,##0"}と表示されます. 2番目のセルの「12345」のところを「34567」,3番目のセルを「56789」のように書き直します. 再び全て選択し,右クリックして「フィールドの更新」を選びます.これでフィールドコートが非表示になり,セル内に「12,345 34,567 56,789」が並びます. こんな感じです.フィールドコートが非表示のときに値を修正しても,数値には反映されませんのでご注意下さい.

iktzy
質問者

お礼

レッスン形式で説明していただき、ありがとうございました。なるほど、計算式をただ数値の入力だけに使うんですね! 1つの数字をたくさんコピーするのがミソのようです。でも、数値はやはり書き直さなくちゃならないんでしょうか。そうすると、たしかにちょっと大変ですね。