Excel VBA質問箱 IV

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

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


5664 / 13645 ツリー ←次へ | 前へ→

【49587】チェックボックスの選択 りりか 07/6/12(火) 9:57 質問[未読]
【49591】Re:チェックボックスの選択 Jaka 07/6/12(火) 11:03 発言[未読]
【49599】Re:チェックボックスの選択 りりか 07/6/12(火) 14:08 お礼[未読]

【49587】チェックボックスの選択
質問  りりか  - 07/6/12(火) 9:57 -

引用なし
パスワード
   お世話になります。初心者です。

ファイルオープンと同時にユーザーフォーム1を表示し、その上にチェックボックスが3つあります。
1つだけ選択して(選びなおすこと可)、コマンドボタンの処理をしたいです。
以下のコードで1度だけ(ファイルオープン直後)はうまく行きます。

Private Sub CheckBox1_Click()
  CheckBox1.Value = True
  CheckBox2.Value = False
  CheckBox3.Value = False
End Sub

Private Sub CheckBox2_Click()
  CheckBox2.Value = True
  CheckBox1.Value = False
  CheckBox3.Value = False
End Sub

Private Sub CheckBox3_Click()
  CheckBox3.Value = True
  CheckBox1.Value = False
  CheckBox2.Value = False
End Sub

Private Sub CommandButton1_Click()
   処理
   ユーザーフォームunload
End Sub

その後、ワークシート上のコマンドボタンから、ユーザーフォームを再度表示して、同じようにしても、1度チェックした場所は変わりません。
どうすれば、チェックボックスを1つだけ選択でき、クリックする度に切り替わるのか、教えてください。

【49591】Re:チェックボックスの選択
発言  Jaka  - 07/6/12(火) 11:03 -

引用なし
パスワード
   >チェックボックスを1つだけ選択でき、クリックする度に切り替わるのか
これチェックボックスでやると面倒くさいですよ。
CheckBox1.Value = True、False
の類で、Clickイベントが発生するから....。

1つだけ選択させるんだったら、オションボタンが適正だと思います。


一応コード、全部フォームモジュール

Dim Flg As Boolean

Private Sub CheckBox1_Click()
Call main(1)
End Sub

Private Sub CheckBox2_Click()
Call main(2)
End Sub

Private Sub CheckBox3_Click()
Call main(3)
End Sub

Sub main(No)
If Flg = False Then
  Flg = True
  For i = 1 To 3
   If i <> No Then
    UserForm1.Controls("CheckBox" & i) = False
   Else
    UserForm1.Controls("CheckBox" & i) = True
   End If
  Next
  Flg = False
End If
End Sub

【49599】Re:チェックボックスの選択
お礼  りりか  - 07/6/12(火) 14:08 -

引用なし
パスワード
   ▼Jaka さん:
>>チェックボックスを1つだけ選択でき、クリックする度に切り替わるのか
>これチェックボックスでやると面倒くさいですよ。
>CheckBox1.Value = True、False
>の類で、Clickイベントが発生するから....。
>
>1つだけ選択させるんだったら、オションボタンが適正だと思います。

ありがとうございました。
確かに、とても面倒のようですね。
オプションボタンを使ってやってみます。

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