• ベストアンサー

ある列に数字を右より、文字を中央よりで入力したい

ある列に数字を右詰に日本語句を中央よりに入力したいんですが、そういうときはどう設定すればいいんでしょうか?エクセル2000です。よろしくお願いします。

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

  • ベストアンサー
回答No.1

マクロ処理になると思います。 下記をコピーしてから、シートタブの右クリックメニューの"コードの表示"を選択 して開く画面に貼り付けてください。 "中央より"を中央揃えとして解釈し、"ある列"をB列と仮定しています。 ' Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Column <> 2 Then Exit Sub  'B列以外は対象外   Select Case WorksheetFunction.IsNumber(Target.Value)   Case Is = True     Target.HorizontalAlignment = xlGeneral  '書式=標準   Case Else     Target.HorizontalAlignment = xlCenter   '書式=中央揃え   End Select End Sub

exexex66
質問者

お礼

ありがとうございます。 これが噂のマクロですか^^;難しそうですね… 早速コピーしてやってみました。 B列は希望どおりになりました。 でも、私の希望はL列とI列なんです。 試しに「B列以外は対象外」のBのところをEに変えたら、さっきまではうまくできたのに、E列に変化がおきません。(大文字の全角で打ちました) 他にもB→Eに変更すべきところがありますか? また、L列も同じように変えたいときはどうすればいいんでしょうか?

その他の回答 (1)

回答No.2

> If Target.Column <> 2 Then Exit Sub  'B列以外は対象外 アポストロフィ ' は、「この位置から右はコメントなので無視」という記号です ので、ここを変更しても無視されます。 Target.Column <> 2 の 2 がB列の列番号を意味していますので、ここを 5 に するとE列になります。 I列とL列が対象なのでしたら、この行を   If Target.Column <> 9 And Target.Column <> 12 Then Exit Sub に書き換えます。 もっと多くの列を対象にする場合は 同じように And でつなげていってもよいですが、 次のように置き換える方法もあります。   Select Case Target.Column     Case Is = 1, 5, 7, 9, 12, 16       GoTo Pfm     Case Else       Exit Sub   End Select   Pfm:

exexex66
質問者

お礼

なんとかできました^^v♪ ありがとうございました。 マクロって面白いですね。頭禿げそうだけど…

関連するQ&A