EXCEL2003 条件つきでユーザー書式

解決済みの質問

EXCEL2003 条件つきでユーザー書式

B列に数字を入力してもらうリストを作っています。
セルの書式設定→表示形式→ユーザー定義で、自動的に単位を表示させるようにしようとしたのですが、
 セルA1に0が入っている場合、B列に表示される単位を"人"
 セルA1に1が入っている場合、B列で表示される単位を"チーム"
と、同シート内の他セルを参考に、表示単位を変えたいのですが、出来るのでしょうか?

[=A1=0]###"人";[=A1=1]###"チーム";### では無効なようですし、[=0]###"人";[=1]###"チーム";### だと、そのセルに入力された数値が条件になってしまうので、使えませんでした。

投稿日時 - 2009-01-08 11:57:48

連想キーワード:

QNo.4613279

すぐに回答ほしいです

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

2007なら条件付き書式設定で可能ですが、2003はVBAでないと不可能です。
参考にVBAサンプルを追記しますのでお試し下さい。
(1)仮にSheet1として、sheet1タブを右クリック→コード表示→VBE画面も右上側に以下のコードを貼り付け→alt+F4(VBE終了)
  因みに書式切り分けは1=??人、2=??チームとしています
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Select Case Target.Value
Case 1
Worksheets("sheet1").Columns("B:B").NumberFormat = "##0人"
Case 2
Worksheets("sheet1").Columns("B:B").NumberFormat = "##0チーム"
End Select
End Sub

投稿日時 - 2009-01-08 13:33:47

お礼

回答ありがとうございます。
導入方法も詳しく書いてくれたおかげで、無事やりたい動作が出来るようになりました。
マクロにはあまり詳しくなかったのですが、これを機に勉強してみたいと思います。

投稿日時 - 2009-01-08 15:11:10

ANo.2

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

できません

ユーザー書式はそのセルに入力されたデータを基準に行われますから
他のセル(A1セル)の値を基準にして書式を変えることはできません

B列には数値だけ
C列に単位を IF関数で切り換えて表示する
…ようにしてはいかがですか?

投稿日時 - 2009-01-08 12:13:21

お礼

回答ありがとうございます。
隣接行にもデータが入るので、できれば現状のままでと思いユーザー設定書式を試していたのですが、2003では一筋縄ではいかないようですね。

投稿日時 - 2009-01-08 15:09:10

あわせてチェックしたい
  • Accessでユーザー定義書式は可能? ...
  • EXCEL2000のセルの書式設定 ...
  • 「セルの書式設定」の「ユーザー定義」でセルの値がTRUEなら○FALSEなら×と表示する方法について ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら