Excel VBA質問箱 IV

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

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


41702 / 76732 ←次へ | 前へ→

【40109】Re:指定したlabelのbackcolorの変更
発言  漂流民  - 06/7/6(木) 23:51 -

引用なし
パスワード
   ▼taka さん:
こんばんわ
キリ番オメ!

理解出来ても出来なくても、求めていた回答ではなくてもレスは付けましょう。
[#39924]
掲示板のトップにあるように「有志のボランティア精神」の皆さんが回答しています。
例えば、taka さんが回答者でスレ主からレスもなく新たに別スレを立てたらどう思いますか?

>comboboxの値によって、下記のコードの様に指定したlabelのbackcolorを変更したいのですが、うまくいきません・・・・。
>例えば、7を選択し、label23.65の色は変わるのですが、次に10を選択すると、7で選択して変わったlabelの色はそのまま残り、10で選択したlabelの色がプラスされてしまいます。
ついでなので、参考までにサンプルを、

(オブジェクト名が"Label"で始まる全てのオブジェクトに対応)
'*****標準モジュール*******************
Public lc() As Long

Sub test()
  UserForm1.Show
End Sub

'*****ユーザーフォームモジュール*******************
Private Sub UserForm_Initialize()
  Dim i As Long
  Dim j As Long
  j = 0
  For i = 0 To Me.Controls.Count - 1
    If Left(Me.Controls(i).Name, 5) = "Label" Then
      ReDim Preserve lc(2, j)
      lc(1, j) = i
      lc(2, j) = Me.Controls(i).BackColor
      j = j + 1
    End If
  Next i
  ComboBox1.AddItem 0
  ComboBox1.AddItem 1
  ComboBox1.AddItem 2
  ComboBox1.AddItem 3
End Sub

Private Sub ComboBox1_Change()
  Call defcol
  Select Case ComboBox1
    Case 1
      Label1.BackColor = &HC0C0FF
      Label2.BackColor = &HC0C0FF
    Case 2
      Label3.BackColor = &HC0C0FF
      Label4.BackColor = &HC0C0FF
    Case 3
      Label5.BackColor = &HC0C0FF
      Label6.BackColor = &HC0C0FF
  End Select
End Sub

Private Function defcol()
  Dim i As Long
  For i = LBound(lc, 2) To UBound(lc, 2)
    Me.Controls(lc(1, i)).BackColor = lc(2, i)
  Next i
End Function

0 hits

【40000】指定したlabelのbackcolorの変更 taka 06/7/5(水) 9:20 質問
【40003】Re:指定したlabelのbackcolorの変更 たけ 06/7/5(水) 10:55 発言
【40004】Re:指定したlabelのbackcolorの変更 taka 06/7/5(水) 11:05 質問
【40005】Re:指定したlabelのbackcolorの変更 たけ 06/7/5(水) 11:12 発言
【40109】Re:指定したlabelのbackcolorの変更 漂流民 06/7/6(木) 23:51 発言
【40111】Re:指定したlabelのbackcolorの変更 taka 06/7/7(金) 8:23 お礼

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