Excel2003の質問です、宜しくお願いします。
一つのセルの中で 「□良い □悪い」という回答にチェックを入れて貰うような
フォームみたいなものを設定したいのですが、どのようにしたら良いのでしょうか。
Wordなら、ツールバーのフォームから設定できそうなのですが、Excelの一つのセル
の中に二つ以上のチェックボックスの設定の仕方が分かりません。
また、二個以上のチェックをつけるとセルの色が赤になるとか、何もつけない
(シートを開いた状態)と緑になるとかにしたいのですが、どのようにしたら良いのか、
さっぱり分かりません。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
表示→ツールバー→フォームにチェックを入れるとフォームツールバーが出てくると思いますので、チェエクボックスを選んで任意のセルに二つ作ったら如何ですか?
また、チェックボックスは他セルとリンクさせてチェックが入っているとTrue、入ってないとFalseとする事ができますので、リンクセルの状態を条件に条件付書式を設定すれば色付けもできるかと思います。
チェックボックスを右クリック→コントロールの書式設定→コントロールタブ
リンクさせるセルにお好きなセルを設定。
これを二つそれぞれ別セルにリンク。
チェックボックスを入れているセルに条件付書式で色付け(リンクセルが両方ともTrueとかどちらもFalseとか)
でも択一の設問ならオプションボタンの方がいいかと思います。
(白丸の中に選択すると黒丸が入るもの)
オプションボタンを使用する場合は、設問がいくつかある場合はグループボックスで設問ごとに囲んでください。
囲んだ中で一つだけが選択されるようになります。
こちらはリンクすると「1,2・・・」と数値で返ります。
No.10
- 回答日時:
「□良い □悪い」でここまでしないといけないのか?。
良悪でなくても、この(対関係)分類でチェックで2つ並べるのはおかしい。
ラジオボタンでないのか?。
前述べたように、 「□良い」 のOFFで 「□悪い」 のON、その逆だし、
両方押すことないし、押されないことはある。
これらを連動させるのか?。
それもおかしい。
No.9
- 回答日時:
マクロ自体の問題ではありませんが、コメントが前のままでした。
>.CheckBoxes("CB" & j).Value = xlOff Then '1個
↓
.CheckBoxes("CB" & j).Value = xlOff Then '0個
です。
もし、お使いのようなら、ここらは、また要相談ですね。VBAでも構わないならですが。
No.8
- 回答日時:
私の#6のマクロについて、ご指摘があったようですが、オブジェクトとセルの位置関係は連動し、設定にはある程度、正確さが必要だというだけです。
今度は、新たにチェックボックスを取り付ける場合、設定まで自動的に行うマクロを披露します。セルに機械的に納まります。数が数百でも、1秒程度で出来ます。*Range("B1:B30") 'チェックボックスの範囲
*Const EA '何行おきか?(n -1 )行置き
'//標準モジュール
Private Const EA As Integer = 2 '*
Sub AddFormCheckBoxes()
'チェックボックスの設定マクロ
Dim rng As Range
Dim i As Long, j As Long
Dim aSh As Worksheet
If EA = 0 Then Exit Sub
Set aSh = ActiveSheet
Set rng = aSh.Range("B2:B30") '*
rng.EntireColumn.ColumnWidth = 16
With rng
j = 1
For i = 1 To .Rows.Count Step EA
With .Cells(i, 1)
'左側のチェックボックス
With aSh.CheckBoxes.Add(.Left + 5, .Top + 1, .Width / 3, .Height / 8)
.Name = "CB" & j
.Caption = "良い"
.OnAction = "CheckBoxes_Click"
j = j + 1
End With
'右側のチェックボックス
With aSh.CheckBoxes.Add(.Left + 50, .Top + 1, .Width / 3, .Height / 8)
.Name = "CB" & j
.Caption = "悪い"
.OnAction = "CheckBoxes_Click"
j = j + 1
End With
End With
Next i
End With
Set aSh = Nothing
Set rng = Nothing
End Sub
Private Sub CheckBoxes_Click()
'CheckBoxのマクロ
Dim n As String
Dim myCell As Range
Dim i As Long, j As Long, k As Long, m As Long
With ActiveSheet
m = .CheckBoxes(1).TopLeftCell.Row
n = Application.Caller
i = Replace(n, "CB", "", , , 1)
If i Mod 2 = 0 Then
j = i - 1
k = j
Else
j = i + 1
k = i
End If
Set myCell = .Cells(Int((k - 1) / 2) * EA + m, 2)
If .CheckBoxes("CB" & i).Value = xlOn And _
.CheckBoxes("CB" & j).Value = xlOn Then
myCell.Interior.ColorIndex = 38 '赤
ElseIf .CheckBoxes("CB" & i).Value = xlOff And _
.CheckBoxes("CB" & j).Value = xlOff Then '1個
myCell.Interior.ColorIndex = 35 '緑
Else
myCell.Interior.ColorIndex = xlNone '色なし
End If
End With
Set myCell = Nothing
End Sub
'おまけ
Sub ClearCheckBoxes()
'チェックボックスの削除
Dim cb As Object
Application.ScreenUpdating = False
For Each cb In ActiveSheet.CheckBoxes
cb.TopLeftCell.ClearFormats
cb.Delete
Next cb
Application.ScreenUpdating = True
End Sub
No.7
- 回答日時:
えと、フォームでのチェックボックスやオプションボタンですが、基本的にオブジェクトなので配置するセルの位置などには左右されません。
セルの境目に置こうが機能は変化しません。
見た目の問題でセルの中に置きたいのかと思いますので、そこはセルを大きくして二つ並べればいいと思いますが、その色を変えたいセルとチェックボックスの位置は直接は関連しません。(そのセルの中にチェエクボックスがないと駄目なわけではない。)
例えば、チェエクボックスをA5セルに配置していても、A1セルの色を変えたりする事ができます。
チェックボックス1のリンクセル→C1
チェックボックス2のリンクセル→C2
とした場合A1に条件付書式の数式で「=AND($C$1=TRUE,$C$2=TRUE)」→お好きな色
と設定すればA5にあるチェックボックスが二つともチェックが入ればA1が赤になります。
個人的には、扱いやすいフォームツールが好きなので力説してしまいました。
No.6
- 回答日時:
コントロールツールもフォームツールも同じですが、コントロールツール側のほうが、少し難しいと思います。
確かに、名前を、CheckBox1 とか分かっていればよいのですが、基本的には、CheckBox の数だけマクロが必要になってしまいます。そういう点で、フォームツール側のCheckBox のほうが楽です。VBAでも、どうやって色を付けるか、その先まで考えていないと話が進められませんね。標準モジュールに、二つを貼りつけて、SetInActonで、マクロを関連付けてください。
色については、気に入らなかったらヘルプなどを見ながら、調整してください。
2個以上と書かれていますが、現在は横並びの2個までです。
Private Sub CheckBoxes_Click()
Dim n As String
Dim chkb As Object
Dim cb As Object
Dim i As Integer
n = Application.Caller
i = 0 'カウントのクリア
Set chkb = ActiveSheet.CheckBoxes(n)
If chkb.Value = xlOn Then i = 1 '1個目
For Each cb In ActiveSheet.CheckBoxes
If chkb.Name <> cb.Name Then
If Not Intersect(cb.TopLeftCell, chkb.TopLeftCell) Is Nothing Then
If cb.Value = xlOn Then i = i + 1 '加算
Exit For
End If
End If
Next cb
If i > 1 Then '2個以上
chkb.TopLeftCell.Interior.ColorIndex = 3 '赤
ElseIf i = 1 Then '1個
chkb.TopLeftCell.Interior.ColorIndex = xlNone '色なし
Else
chkb.TopLeftCell.Interior.ColorIndex = 10 '緑
End If
End Sub
'チェックボックスにマクロを関連付けさせる
Sub SetInActon()
Dim cb As Object
For Each cb In ActiveSheet.CheckBoxes
cb.OnAction = "CheckBoxes_Click"
Next cb
End Sub
*フォームツールのCheckBox の取り付けの注意点
クリックしたりすると、CheckBox の点線の領域線が現れるかと思います。その領域線の左上端が、その色を変更するセルの中にないといけません。
端
↓
+………+ +………
| □ | | □
+………+ +………
No.5
- 回答日時:
良い、悪い、何もつけない、の3択か。
対義語なら1つチェック入れるか入れないか。
「良い」から「悪い」にしたいとき
「良いON」→「良いOFF」で、
さらに「悪いON」にしないと「悪い」にならないのはうっとおしい。
「良い」も「悪い」もONにできるが、その制御はどうする?。
事例だから「良い、悪い」にしただけ、ならいいが・・・。
No.4
- 回答日時:
If CheckBox1.Value = True And checkbox2.Value = True Then
のように 条件分岐をします
♯3氏が指摘されている フォームのチェックボックスは使ったことが無いのでよくわかりません
ほとんど ユーザーフォーム のほうのチェックボックスか シートのコントロールチェックボックスしか
使っていないので・・。
No.3
- 回答日時:
Excelのチェックボックスには、ANo.1の方が説明しているコントロールボックスのチェックボックスと、ANo.2の方が説明しているフォームのチェックボックスの2種類があります。
フォームの方が古い機能なので、どちらかといえばコントロールボックスの方が主流です。
しかし、今回のようにチェックボックスが乗っているセルの色を変えたいならフォームの方がお勧め。
コントロールボックスの方は、背景色を透明(プロパティでBackStyle=0)に設定してセルの色をそのまま見せようとしても、チェックボックスをクリックするとなぜか背景色が不透明になります(おそらくExcelのバグ)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) たくさんあるフォームコントロールを効率よく確認するには 1 2022/12/24 12:27
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) 複数シートのデータ統合とレイアウトの維持についてです 2 2022/10/18 21:11
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Visual Basic(VBA) エクセルのメモについて教えてください。 1 2022/06/23 11:32
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
2つ以上のチェックボックスを連動させるには?
Excel(エクセル)
-
セルの中にもっとも簡単にチェックボックスを置く方法は?
Excel(エクセル)
-
SPREADで1つのセルに複数のチェックボックスを表示させたい
Visual Basic(VBA)
-
-
4
複数のチェックボックスを同時にチェックする
その他(ビジネス・キャリア)
-
5
パワーポイントをエクセルファイルへ
PowerPoint(パワーポイント)
-
6
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
7
Excel 条件によって入力禁止にする
Excel(エクセル)
-
8
E列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつく
その他(Microsoft Office)
-
9
セルをクリック⇒そのセルに入力された文字を○で囲む
Excel(エクセル)
-
10
ワード:右上の小さい文字
Windows Vista・XP
-
11
エクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするには
Excel(エクセル)
-
12
エクセルの対象セルの1つしか入力できないようにする方法。
Excel(エクセル)
-
13
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
14
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
15
エクセルでセルにポインタすると表示されるコメントみたいなもの
Excel(エクセル)
-
16
外部モニターを接続するとデスクトップのアイコンの位置が変わる
モニター・ディスプレイ
-
17
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
18
リンク元の日付が空白の時リンク先セルも空白にしたい
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
セル入力文字が、「右のセルにはみ出す場合と」「はみ出さない場合」の違い
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでアラーム機能を作りたい...
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
【Excel VBA】PDFを作成して,...
-
office365って抵抗感ないですか?
-
Outlook で宛先が複数の場合の人数
-
eXCEL同じブックの中の何枚もシ...
-
Excel 日付を比較したら、同じ...
-
エクセルでXLOOKUP関数...
-
outlookのメールが固まってしま...
-
Windows 11で、IME言語バー(IM...
-
Excel テーブル内の空白行の削除
-
マクロ自動コピペ 貼り付ける場...
-
会社PCのメールが更新されない
-
Microsoft Formsの「個人情報や...
-
エクセルでレーダーチャートの...
-
teams設定教えて下さい。 ①ビデ...
-
エクセル:一定間隔で平均値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
英数字のみ全角から半角に変換
-
outlookのメールが固まってしま...
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
会社PCのメールが更新されない
-
マクロ自動コピペ 貼り付ける場...
-
Excel 条件付き書式 複数行で異...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
sheet2に並んだ日付の行にsheet...
-
スプレッドシートにて、特定の...
-
Microsoft入力サインインできま...
-
Outlook で宛先が複数の場合の人数
-
eXCEL同じブックの中の何枚もシ...
-
Excel テーブル内の空白行の削除
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
teams設定教えて下さい。 ①ビデ...
-
Excel 日付を比較したら、同じ...
おすすめ情報