

4つのコンボボックスA,B,C,Dがあり
A+B=C+D の時、4つのコンボボックスの背景色を変更したいです。
ただしA,Bの両方に何も入力されてない時は色は変更したくないです。
振替管理表というものを作っているのですが、休日出勤した日(A、B)と、振替に休んだ日(C,D)を監理したいです。
休出した日を振替消化した場合にコンボボックスの色を変更して、消化できたことがわかりやすくしたいです。
コンボボックスの値(振替の単位)は1(1日)と0.5(半日)があり、0.5が2つある時には1日として消化したいです。
VBAは修正した事はあるのですが、新規に作るということをした経験がなく困っています。
簡単なサンプルコードが欲しいですが、
参考になるページを紹介していただくだけでも良いのでよろしくお願いしますm(_ _)m
No.1ベストアンサー
- 回答日時:
こんにちわ
コンボボックスなんですよね。
オートフィルタではないんですよね。
管理表と仰るので、なぜ、わざわざコンボボックスにしているのか疑問に思いました。
Visual Basic Editor は開けるものとしまして
左欄の該当シート(コンボボックスのあるシート)を選択します。
ツールバーの下にWorkSheetと書かれているところをクリックすると
ComboBox1とか出てきますので選択します。
すぐ下の欄が
Private Sub ComboBox1_Change()
End Sub
となりますので、
Private Sub ComboBox1_Change()
Call Module1.コンボ色々
End Sub
とします。
次に[挿入]-[標準モジュール]を選択すると
先ほど書いていた欄が真っ白になります。
ココに
Sub コンボ色々()
If ActiveSheet.ComboBox1.Value > 0 Then
'コンボボックスの値が0より大きかったら
ActiveSheet.ComboBox1.BackColor = RGB(255, 0, 0)
'赤にします
Else
ActiveSheet.ComboBox1.BackColor = RGB(255, 255, 255)
'白にします
End If
End Sub
といれます。
あとはアレンジしてください
No.3
- 回答日時:
コンボボックスは諸項目から選んで、ひとつまたは複数項目を入力するための、ウインドウズ上のツール(コントロール)です。
これがなぜ休日振り替え管理に使えるのか判りません。
コンボボックスのどういう特性に注目して、利用しようとしているのでしょうか。
仮の実例でも挙げて説明してください。
初心者は、思いつきで変な使い方を考えて、プログラムの難しい質問にしていることが、最近の質問で時々あるのを感じる。
この回答への補足
振替の値は「1と0.5と入力なし」ですのでコンボボックスを
使って入力値を制限しようと考えています。
普通のセルならなんでも入力できるのでコンボボックスを
使うのが適当かと思いました。文字列とか他の数値を入れると
合計するときに計算できません。
50名程度の振替を1年監理したいと思っています。
No.2
- 回答日時:
A=1,B=0,C=1,C=0
A=1,B=0,C=0.5,D=0.5
A=0.5,B=0.5,C=1,D=0
A=0.5,B=0,C=0.5,D=0
の組み合わせということで
If A + B > 0 And A + B = C + D Then
A.BackColor = 変更色
B.BackColor = 変更色
C.BackColor = 変更色
D.BackColor = 変更色
Else
A.BackColor = 既定色
B.BackColor = 既定色
C.BackColor = 既定色
D.BackColor = 既定色
End if
とすればいいのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6,リストボックスの特定行の色変更は可能?
Visual Basic(VBA)
-
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
UserForm1.Showでエラーになります。
工学
-
6
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
-
7
コンボボックスの開いたリストを閉じるには
Access(アクセス)
-
8
VC++のコンボボックスの各項目の背景色と文字色を変える方法
C言語・C++・C#
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
11
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
12
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
13
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
14
リストボックスの特定行の背景色
Visual Basic(VBA)
-
15
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
16
【エクセル】複数のTextBoxに共通するChangeイベントを簡潔に書きたい
Excel(エクセル)
-
17
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
18
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
19
エクセルVBA テキストボックスへのセットフォーカスについて
Visual Basic(VBA)
-
20
コンボボックスの文字によるif文の作成
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
Access レポート印刷するときに...
-
アクセスのレポート合成(複数...
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
「フォームを作成できませんで...
-
アクセスで数値型のフィールド...
-
Word縦書きで左から右への行
-
サブフォームに対してGoToRecor...
-
Accessレポートのチェックボッ...
-
Access:フォームプロパティ「...
-
フォームで入力しても反映されない
-
Accessのフォームにて、詳細行...
-
レコードを保存するコード ア...
-
ACCESSでコントロールソースの変更
-
Access2013 レポートを印刷する...
-
Excelで入力したデータを自動的...
-
SQL*Loader
-
EXCEL VBAのユーザーフォームに...
-
Access(office)のマクロの「値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
コンボボックス 選択後のカー...
-
access 検索結果をテキストボッ...
-
Accessフォームについて質問
-
ACCESS VBA で複数項目検索にテ...
-
アクセス2000で
-
CrystalDiskinfoの使い方!HDD/...
-
Excelのランダム抽出について教...
-
VBA コンボボックスの重複削除
-
Accessのフォーム その2
-
java初心者です。
-
Access 2016 のプロパティ(プル...
-
アクセス2000で2回目の検索がで...
-
エクセルVBA コンボボックスで...
-
Accessのコンボボックス内項目...
-
4月開始年度の月と日を連動さ...
-
ACCESS2003 プルダウンで
-
【Access2010】フォーム内のコ...
-
EXCEL2000
-
Dcount関数が表示されない。
おすすめ情報