
マイクロソフトのエクセル2000で
「セルの書式設定」の「ユーザー定義」を
[=1]"○";[赤][=2]"×"にすると、
1なら○、2なら赤字の×をセルに表示される機能がありますが、
これを応用してTRUEなら○、FALSEなら赤字の×をセルに表示したいと思い、
[="TRUE]"○";[赤][=FALSE]"×"と設定してみたのですが、
上手く行かず困ってます。どこが違うのか、それともこの方法では出来ないのかを教えてください。
補足
何故これをやりたいのかと言うと、フォームのチェックボックスを使用し
「コントロールの書式設定」の「リンクするセル」の返り値が
TRUEとFALSEなので、このセル自身を見やすい文字に変更したいと思ったので・・・。
リンクするセルと違うところに○×を置くのは簡単にif関数で出来るんですが、
リンクするセル自身を○×に置くのができないです。
お手数かと思いますが、セルの書式設定に拘らず、
何らかのヒントを知ってる方、教えてください。
No.3ベストアンサー
- 回答日時:
質問のような表示ができるようにしてみました。
(Excel97,2000で確認)チェックボックスが何個あるか分かりませんので、2個のケースです。数によって『チェックボックス-1用』等を増やして下さい。『チェックボックス-1』に『チェックボックス-1用』のマクロを登録します。
※質問から推測すると、フォームのチェックボックスを使われているようですが、Excel97以降ならコントロールツールボックスのチェックボックス(他のコントロールも)を使われたほうがいいと思います。新しいし、設定も楽でコードも書き易いです。下はフォームのチェックボックスということで思い出しながら書いてみました。(使えるプロパティが無いのが欠点ですね)
※チェックボックスのリンクするセルを見えないところ(セル)を指定して(別シートでも)、表示したいセルに
=チェックボックスのリンクするセル番地*1 (または+0)とすれば
「True」、「False」という Bool値を数値に変換できるのでマクロは不要になると思われます。
チェックボックスのリンクするセルの書式は [=1]"○";[赤][=0]"×" とします。
↓ここから。チェックボックスのあるシートのコードウインドウに貼り付けます。
Dim ChechBoxAddress As String 'チェックボックスのリンクするセルの番地
Dim ChechBoxClickFlg As Boolean 'チェックボックスをクリックすればTrue
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = ChechBoxAddress Then
'チェックボックスのクリックだけに反応させる
If ChechBoxClickFlg = True Then
'選択されたセルがチェックボックスのリンクするセルなら
'True→1、False→0に書き換える(チェックボックスの選択状態は変わらない)
If Target.Value = True Then
Target.Value = 1
Else
Target.Value = 0
End If
ChechBoxClickFlg = False
End If
End If
End Sub
'チェックボックス-1用(個々のチェックボックス用。例:F3がリンクするセル)
Sub CheckBox1_Valuechange_Numeric()
'リンクするセルをセットする
ChechBoxAddress = "$F$3": selectChechBoxRange ChechBoxAddress
End Sub
'チェックボックス-2用(個々のチェックボックス用。例:F5がリンクするセル)
Sub CheckBox2_Valuechange_Numeric()
'リンクするセルをセットする
ChechBoxAddress = "$F$5": selectChechBoxRange ChechBoxAddress
End Sub
'チェックボックスのリンクするセルを選択する(共通)
' ※チェックスボックスのクリックではWorksheet_SelectionChangeが起きないため自力で動かす
Sub selectChechBoxRange(rgChkBox As String)
Dim rg As Range 'アクティブセルの番地を退避
Set rg = ActiveCell
If rg.Address <> rgChkBox Then
'アクティブセルがチェックボックスのリンクするセルでなかったらリンクするセルを選択する
Range(rgChkBox).Select
Else
'アクティブセルがチェックボックスのリンクするセルならリンクするセルの斜め右下を選択する
rg.Offset(1, 1).Select
End If
'元のアクティブセルを選択状態にする
rg.Select
End Sub
No.5
- 回答日時:
一部修正して下さい。
途中のマクロを回答してしまいました。'チェックボックス-1用
Sub CheckBox1_Valuechange_Numeric()
'リンクするセルをセットする
ChechBoxAddress = "$F$3": ChechBoxClickFlg = True
selectChechBoxRange ChechBoxAddress
End Sub
'チェックボックス-2用
Sub CheckBox2_Valuechange_Numeric()
'リンクするセルをセットする
ChechBoxAddress = "$F$5": ChechBoxClickFlg = True
selectChechBoxRange ChechBoxAddress
End Sub
お返事遅くなりまして、すいません。
結論はやはりVBAを使わないと出来ないってことですね。
nishi6さんのVBAの例を参考にして
これからやってみたいと思います。
皆さん、ご協力ありがとうございました。
次質問したときもよろしくお願いします。
No.4
- 回答日時:
BOOLEAN値のFALSEやTRUEの値が入っている列を非表示に
するのはどうでしょうか。
列Bを選択-書式-列-「表示しない」で列の非表示になりますよね。
エクセルでは変数にあたるものは、セルだと思います。そして全ての
変数=セルはシート画面に表示されてしまいます。それでB列とC列
をペアーで考えて、B列をC列の裏にある変数と見なすと、自分自身の値(B列の値)を参照してあたかも自分自身(C列)の表示を好きなようにすることが出来るわけです。そして楽屋裏のB列は見せないために隠す。
こういうのは見当はずれでしょうか。
プログラムではほとんどの言語で、例えばA=2*A
というのが出来るのに、表計算では出来ないのが歯がゆい
と思うことがありませんか。
No.2
- 回答日時:
セルA1に例えば1を入力する。
セルB1に関数式=IF(A1=1、”○”、”×”)といれる。○は「まる」×は「ばつ」で出ます。そしてB1を選択して、メニュバーで書式-条件付き書式-「セルの値が」-「次ぎの値に等しい」-「○」-「書式」をクリック-フォントのタブをクリック-「色」-赤色をクリック-「OK」-「OK」をクリックでいかがでしょうか。このB列に複写するとA列が1で赤○、その他で黒×になります。
ただセルの値がTRUE、FALSEである点がどうすれば良いか。
この回答では、A列に値があって、B列に○×表示があるが、A列そのものに○×に置きかえるのは出来るかどうか
わかりません。VBAでプログラムをくむより他ないのではないでしょうか。良く分かっている方はご教示を。
早速の回答、ありがとうございます。
違うセルにあればimogasiがおしゃっているように
if関数を用いればTRUE、FAISEであってもできる事はわかっては
いるのですが、同じセルになるとVBAを組むしか方法は無いんですかね。
出来れば簡単な方法がいいんですが、
なければ、VBAの場合こうすれば出来るって方法でもいいんで、
引き続き回答お願いします。
No.1
- 回答日時:
「条件付き書式」でなんとか成るような気はしますが
詳細な設定方法は、よく判りません(^-^;)
(“FALES”を赤字にするだけならすぐ出来るはずです)
エクセルのヘルプで検索してみてください!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- その他(Microsoft Office) エクセルについて教えてください。 2 2022/10/20 14:55
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】大変な警告
【大喜利】「今このパソコンは大変危険な状態です」という警告メッセージを無視してパソコンを開いたら、こんなことが起こった
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
エクセルのセル表示形式「ユーザー定義」でTRUEをYESに?
Excel(エクセル)
-
チェックボックスの値をTRUE/FALSE以外にするには?
Excel(エクセル)
-
エクセル関数で、Falseの場合赤字で表示するには?
Excel(エクセル)
-
-
4
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
5
エクセルで####とか「FALSE」を表示しないように出来ますか?
Excel(エクセル)
-
6
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
7
VBAでブック保護非保護を判定するには?
Excel(エクセル)
-
8
エクセルのチェックボックスを保護対象から外すには
Windows Vista・XP
-
9
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
10
エクセル if文で偽判定のとき、何も起こらないようにしたいのですが・・・
Access(アクセス)
-
11
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
12
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
13
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】1回目の実行後、2...
-
エクセル内に読み込んが画像の...
-
Excelのメニューについて
-
Excelで作成した出欠表から日付...
-
Excel 偶数月の15日(土日祝...
-
Excelの数式について教えてくだ...
-
勤務外時間を出す表が作りたい
-
VLOOKUP FALSEのこと
-
エクセルの数式について教えて...
-
【マクロ】参照渡しについて。...
-
Excel 日付の表示が直せません...
-
Excelの条件付書式について教え...
-
マクロを実行すると、セル範囲...
-
【マクロ】参照渡しとモジュー...
-
【マクロ】シート追加時に同じ...
-
Excelファイルを開くと私だけVA...
-
Excelのデーターバーについて
-
エクセルの設定、特定の列以降...
-
別のシートの指定列の最終行を...
-
エクセル 同じ行の隣り合う数字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報