Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7293 / 13644 ツリー ←次へ | 前へ→

【40012】複数を指定して色を変える taka 06/7/5(水) 14:20 質問[未読]
【40014】Re:複数を指定して色を変える たけ 06/7/5(水) 15:20 発言[未読]
【40018】Re:複数を指定して色を変える Statis 06/7/5(水) 15:50 回答[未読]

【40012】複数を指定して色を変える
質問  taka  - 06/7/5(水) 14:20 -

引用なし
パスワード
   comuboboxより、4を選択するとlabel1〜10,20〜30とtextbox15〜20,40〜45のbackcolorを赤にする。5を選択するとlabel1〜5,15〜20とtextbox10〜15,35〜45のbackcolorを赤にする。・・・・・
こんな様な事をする場合、comboboxにどのようなコードを記入すればよいのですか?

【40014】Re:複数を指定して色を変える
発言  たけ  - 06/7/5(水) 15:20 -

引用なし
パスワード
   ▼taka さん:
>comuboboxより、4を選択するとlabel1〜10,20〜30とtextbox15〜20,40〜45のbackcolorを赤にする。5を選択するとlabel1〜5,15〜20とtextbox10〜15,35〜45のbackcolorを赤にする。・・・・・
>こんな様な事をする場合、comboboxにどのようなコードを記入すればよいのですか?

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=40000;id=excel
色を変えるということは自分でやってるじゃないですか?
comboboxのChangeイベントが分からないってこと?

何が分からないにしても、自分で立てたスレッドを放置したままにして、次々と新しいスレッドを立てることは好まれません。

【40018】Re:複数を指定して色を変える
回答  Statis  - 06/7/5(水) 15:50 -

引用なし
パスワード
   こんにちは
参考までに(すべてUserFormのモジュールにて)
変数「Cor」「Cor1」はモジュールの先頭にて宣言

Dim Cor, Cor1
Private Sub ComboBox1_Change()

Dim La As Variant, Te As Variant, La1 As Variant
Dim Co As Long, i As Long, Te1 As Variant

La = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
Te = Array(15, 16, 17, 18, 19, 20, 40, 41, 42, 43, 44, 45)
La1 = Array(1, 2, 3, 4, 5, 15, 16, 17, 18, 19, 20)
Te1 = Array(10, 11, 12, 13, 14, 15, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)

Select Case Val(Me.ComboBox1.Value)
    Case 4: Co = 1
    Case 5: Co = 2
    Case Else: Co = 0
End Select
For i = 1 To 45
  If Co = 1 Then
    Call Color_Check(La, Te, CStr(i))
  ElseIf Co = 2 Then
    Call Color_Check(La1, Te1, CStr(i))
  Else
    Cor = &H8000000F: Cor1 = &H80000005
  End If
  If i < 31 Then
    Me.Controls("Label" & i).BackColor = Cor
    Me.Controls("Label" & i).Caption = i
    Me.Controls("TextBox" & i).BackColor = Cor1
    Me.Controls("TextBox" & i).Value = i
  Else
    Me.Controls("TextBox" & i).BackColor = Cor1
    Me.Controls("TextBox" & i).Value = i
  End If
Next
  
End Sub


Private Sub Color_Check(Da As Variant, Da1 As Variant, Cou As Long)

Dim Ma As Variant, Ma1 As Variant

Ma = Application.Match(Cou, Da, 0)
If Not IsError(Ma) Then
  Cor = &HFF&
Else
  Cor = &H8000000F
End If
Ma1 = Application.Match(Cou, Da1, 0)
If Not IsError(Ma1) Then
  Cor1 = &HFF&
Else
  Cor1 = &H80000005
End If

End Sub

7293 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free