Excel VBA質問箱 IV

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

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


26623 / 76732 ←次へ | 前へ→

【55440】Re:追加−現在はこんな方法で行っています
回答  Hirofumi  - 08/5/4(日) 12:20 -

引用なし
パスワード
   ★1、Frame1にCheckBox1〜3を配し、値がTrueの物の番号をFrame1内のLabelに表示
 及び、Frame2にCheckBox4〜6を配し、値がTrueの物の番号をFrame2内のLabelに表示場合

 先ず、UserFormのデザイン画面で、各CheckBoxのTagプロパティにTrueの時に、
 表示する番号を設定して置きます

Option Explicit

Private Sub CheckBox1_Click()

  SelectedNum CheckBox1
  
End Sub

Private Sub CheckBox2_Click()

  SelectedNum CheckBox2
  
End Sub

Private Sub CheckBox3_Click()

  SelectedNum CheckBox3
  
End Sub

Private Sub CheckBox4_Click()

  SelectedNum CheckBox4
  
End Sub

Private Sub CheckBox5_Click()

  SelectedNum CheckBox5
  
End Sub

Private Sub CheckBox6_Click()

  SelectedNum CheckBox6
  
End Sub

Private Sub SelectedNum(cntChek As MSForms.CheckBox)

  Dim i As Long
  Dim strResult As String
  Dim lngLabel As Long
  
  With cntChek.Parent
    For i = 0 To .Controls.Count - 1
      If TypeName(.Controls(i)) = "CheckBox" Then
        If .Controls(i).Value Then
          If strResult <> "" Then
            strResult = strResult & ","
          End If
          strResult = strResult & .Controls(i).Tag
        End If
      Else
        If TypeName(.Controls(i)) = "Label" Then
          lngLabel = i
        End If
      End If
    Next i
    .Controls(lngLabel).Caption = strResult
  End With
        
End Sub

Private Sub UserForm_Click()

End Sub

★2、FuserFormにFrameを配し、その中にOptionButtonのYes、Noの2つを配します
 3問なので、Frame1にOptionButton1〜2、Frame2にOptionButton3〜4、Frame3にOptionButton5〜6
 を配し、OptionButtonの奇数番をYesとします。
 デザイン時に、
 各OptionButtonのYesのTagプロパティに&H000000FF&を
 NoのTagプロパティに&H80000012&を設定して置きます
 
 UserForm実行時に、OptionButtonをクリックすると、Yesなら其のButtonのFrameのCaptionが赤に
 Noなら黒に変わり、ButtonのFrameのTagにYes、Noが入ります

Option Explicit

Private Sub OptionButton1_Click()

  GetAnswer OptionButton1
  
End Sub

Private Sub OptionButton2_Click()

  GetAnswer OptionButton2
  
End Sub

Private Sub OptionButton3_Click()

  GetAnswer OptionButton3
  
End Sub

Private Sub OptionButton4_Click()

  GetAnswer OptionButton4
  
End Sub

Private Sub OptionButton5_Click()

  GetAnswer OptionButton5
  
End Sub

Private Sub OptionButton6_Click()

  GetAnswer OptionButton6
  
End Sub

Private Sub GetAnswer(cntOption As MSForms.OptionButton)

  With cntOption
    .Parent.ForeColor = Val(.Tag)
    .Parent.Tag = .Caption
  End With
  
End Sub

2 hits

【55435】追加−現在はこんな方法で行っています みけ 08/5/4(日) 9:13 質問
【55437】Re:追加−現在はこんな方法で行っています kanabun 08/5/4(日) 10:50 回答
【55441】Re:追加−現在はこんな方法で行っています kanabun 08/5/4(日) 12:36 回答
【55438】Re:追加−現在はこんな方法で行っています Hirofumi 08/5/4(日) 11:04 発言
【55440】Re:追加−現在はこんな方法で行っています Hirofumi 08/5/4(日) 12:20 回答

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