Excel VBA質問箱 IV

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

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


6621 / 13646 ツリー ←次へ | 前へ→

【19496】チェックボックス らら 04/11/5(金) 13:10 質問[未読]
【19498】Re:チェックボックス つん 04/11/5(金) 13:57 回答[未読]
【44181】Re:チェックボックス what's me 06/11/7(火) 14:05 質問[未読]
【44182】Re:チェックボックス Blue 06/11/7(火) 14:15 回答[未読]
【44184】Re:チェックボックス ぱっせんじゃー 06/11/7(火) 14:19 発言[未読]
【44186】Re:チェックボックス what's me 06/11/7(火) 14:47 お礼[未読]
【19501】Re:チェックボックス らら 04/11/5(金) 14:10 お礼[未読]

【19496】チェックボックス
質問  らら  - 04/11/5(金) 13:10 -

引用なし
パスワード
   フォームにてグループボックスを置きました。
そこにチェックボックスを3つ置き、
そのチェックボックス1つのみにチェックを入れたいです。

オプションボタンのように。。。

現状では、チェックボックスすべてにチェックがはいってしまい、
3つとも選べる状態です。

教えてくださいませ。。

【19498】Re:チェックボックス
回答  つん E-MAIL  - 04/11/5(金) 13:57 -

引用なし
パスワード
   らら さん、こんにちは。

こんなんではどうでしょうか?

Sub test(a As Long)

  Dim i As Long
  
  If Me.Controls("CheckBox" & a).Value = True Then
  
    For i = 1 To 3
      If i <> a Then
        Me.Controls("CheckBox" & i).Value = False
      End If
    Next i
    
  End If
       
End Sub

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

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

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

なんか、もっとスマートなやり方がありそうだけど・・・

【19501】Re:チェックボックス
お礼  らら  - 04/11/5(金) 14:10 -

引用なし
パスワード
   ありがとうございます。
実はもっとスマートにかけると思っていたのですが、
難しいみたいですね。

ありがとうございました!ぜひ参考にさせていただきます!

【44181】Re:チェックボックス
質問  what's me  - 06/11/7(火) 14:05 -

引用なし
パスワード
   過去ログを参照してマクロを組んでいる者です。
今回同じケースがあり、マクロを使わせていただいたのですが、
このまま実行すると
「Meの使い方が不正です」とエラーが出てしまいました。
MeをActiveSheet.OLEObjectsなどに変えてみたのですが
うまくいきません。
どなたかエラーの原因を教えてください。

【44182】Re:チェックボックス
回答  Blue  - 06/11/7(火) 14:15 -

引用なし
パスワード
   どこにあるチェックボックスですか?
シート上である場合、そのチェックボックスがあるシートモジュールで

Me.OLEObjects("CheckBox1").Object.Value

とすれば取得できます。
また、該当のシートモジュール以外で記述する場合、そのシートモジュールを指すように

Worksheets("Sheet1").OLEObjects("CheckBox1").Object.Value

のように指定します。


UserFormの場合も同様で、UserFormモジュール以外で取得したい場合は

UserForm1.Controls("CheckBox1").Value

となります。(インスタンスを使っても出来る)

【44184】Re:チェックボックス
発言  ぱっせんじゃー  - 06/11/7(火) 14:19 -

引用なし
パスワード
   本来なら別スレッドにしたほうがいいのですが・・・。

↓ではいかがでしょう?

Me.OLEObjects("CheckBox" & a). Object.Value

【44186】Re:チェックボックス
お礼  what's me  - 06/11/7(火) 14:47 -

引用なし
パスワード
   解決しました!
実はSub test(a As Long)を
同じシートではなく、標準モジュールに記述していたのが原因でした。

>どこにあるチェックボックスですか?
>シート上である場合、そのチェックボックスがあるシートモジュールで
↑これでハッと気づきました!!

でも今回エラーが出たおかげでMeの使い方がわかりました。

>Me.OLEObjects("CheckBox" & a). Object.Value
↑これもやっと理解できました。

本当にありがとうございました!!

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