[[20200717180043]] 『VBA オプションボタンについて』(ねこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA オプションボタンについて』(ねこ)

VBAでオプションボタンを三つ作成し、いずれも選択されてない場合にエラーメッセージを表示させたいのですが、「実行時エラー424 オブジェクトが必要です」というエラーが出てしまいます。

IF文は以下の通りに記述し、これを実行ボタンに結びつけています。

If OptionButton1.Value = False _

    And OptionButton2.Value = False _
    And OptionButton3.Value = False Then

        MsgBox "未選択です"

オプションボタンの扱いについてよく理解出来ていないのですが、シート上で手で作成したボタンには自動で名称が振り分けられるもので、変更不可なのでしょうか。

また、VBE上でどのように個々のボタンを指定するのでしょうか。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 この3つ以外にもオプションボタンがある、ということですか?
 それとも、初期設定でいずれかのオプションボタンを選択する
 ようにしてない、ということですか?
(OK) 2020/07/17(金) 18:15

OptionButton1というオブジェクト名だとすれば、それはActiveXのオプションボタンなのですが、正しいでしょうか? フォームコントロールのオプションボタンの場合は、それでは動きません。
(VBAでオプションボタンを生成しているのであれば、そのコードを見せてください)

ActiveXのオプションボタンであれば、「開発」−「デザインモード」でモード切替し、オブジェクトをクリックしても実行されずにコントロールが選択されるようにした状態で、右クリックして「プロパティ」を表示してください。 ここでオブジェクト名を自由に変える事ができますし、もちろんマクロ中でも変更できます。(Nameプロパティ)
(???) 2020/07/17(金) 18:18


アンダースコアが1つ足りないですね

If OptionButton1.Value = False _

    And OptionButton2.Value = False _
    And OptionButton3.Value = False Then _
    MsgBox "未選択です"
(OK) 2020/07/17(金) 18:20

あと、オプションボタンはどれかひとつ必ず選ぶ、という場合に使われるものであり、普通はデフォルトにしたいボタンのValueをTrueにしておくものであり、全部Falseなんて状態を考慮する必要は無いですよ。
(一度チェックすると、全部オフにはできないでしょう?)

全部オフもあり得る場合は、チェックボックスを使うべきです。複数チェックもできちゃいますけど。
(???) 2020/07/17(金) 18:24


返信コメントありがとうございます。

???さん
OptionButton1等はネットで調べ見様見真似で記述しました。
しかしフォームコントロールで作成したものなので違うということですね…
フォームコントロールのオプションボタンの場合はオブジェクト名の変更や指定の方法が異なるのでしょうか?

OKさん
ボタンは記載した3つのみになります。
あとThenのあとに_を足すと構文エラーになってしまいました…
(ねこ) 2020/07/17(金) 19:38


 コードをご提示ください。
(OK) 2020/07/17(金) 19:39

 アンダースコアの行の次の行にブランク行がある、というオチではないですか?
(OK) 2020/07/17(金) 19:41

手元にエクセルがないので確認できませんが、
確かフォームコントロールはセルと関連付けできて
チェックを入れたり外したりすることでそのセルの値がTRUEやFALSEになるはずです。
その関連付けセルの値で判定するのはいかがですか?
(はらぺこ) 2020/07/18(土) 10:11

 >オプションボタンの扱いについてよく理解出来ていないのですが

 だったら、オプションボタンを理解する方が先では・・・。

 >あと、オプションボタンはどれかひとつ必ず選ぶ、という場合に使われるものであり、普通はデフォルトにしたいボタンのValueをTrueにしておくものであり、全部Falseなんて状態を考慮する必要は無いですよ。

 これの意味も私は初心者だから、全て教えてもらえば良いので一々理解する必要はない。
 と言った姿勢でしょうか?

(Why) 2020/07/18(土) 11:10


  > これの意味も私は初心者だから、全て教えてもらえば良いので〜

 ↑は???さんの↓のレスに対するコメントだから???さんに対するレス?

  > >あと、オプションボタンはどれかひとつ必ず選ぶ〜
(通りすがり) 2020/07/18(土) 11:18

 いえ、質問者。
 スレッドが続くとそう見えるのかなぁ?
(Why) 2020/07/18(土) 11:21

 質問者?
 単に横レスした通りがかりのものだが。

 レスをだれが書いたかよく見ずに書いたのがばれて逆切れか。
(通りすがり) 2020/07/18(土) 11:31

 いえ、質問者。
 は、質問者に返答したと書いたつもりなんですが・・・。
 なんで、とんでもない方向から、逆切れされのか意味が解かりません。

(Why) 2020/07/18(土) 11:37


https://komachi.yomiuri.co.jp/t/2018/0825/860710.htm?p=0
(うはは) 2020/07/18(土) 12:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.