プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (3件)

こんにちわ


コンボボックスなんですよね。
オートフィルタではないんですよね。
管理表と仰るので、なぜ、わざわざコンボボックスにしているのか疑問に思いました。

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
といれます。
あとはアレンジしてください
    • good
    • 0

コンボボックスは諸項目から選んで、ひとつまたは複数項目を入力するための、ウインドウズ上のツール(コントロール)です。


これがなぜ休日振り替え管理に使えるのか判りません。
コンボボックスのどういう特性に注目して、利用しようとしているのでしょうか。
仮の実例でも挙げて説明してください。
初心者は、思いつきで変な使い方を考えて、プログラムの難しい質問にしていることが、最近の質問で時々あるのを感じる。

この回答への補足

振替の値は「1と0.5と入力なし」ですのでコンボボックスを
使って入力値を制限しようと考えています。

普通のセルならなんでも入力できるのでコンボボックスを
使うのが適当かと思いました。文字列とか他の数値を入れると
合計するときに計算できません。

50名程度の振替を1年監理したいと思っています。

補足日時:2007/01/09 16:51
    • good
    • 0

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
とすればいいのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A