• ベストアンサー

エクセルVBAでOptionButtonのオンオフ取得

ワークシート上に貼り付けてあるオプションボタンの状態の取得ですが、フォームのオプションボタンなら 例えば、 MsgBox ActiveSheet.OptionButtons("Option Button 44").Value で、オンなら1、オフなら-4146が返ります。 またActiveSheet.OptionButtons("Option Button 44").Value=xlOnで オンに出来ます。 ところがフォームじゃないコントロールツールボックスのオプションボタンは MsgBox ActiveSheet.Shapes("OptionButton30").Valueでも MsgBox ActiveSheet.Controls("OptionButton30").Valueでもエラーになります。 どうやって取得すればいいのでしょうか? どうやてOn Off を指示すればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

同一ワークシート内にオプションボタン1つ、コマンドボタン一つを配置して、コマンドボタンに、現在のオプションボタンの値をMSGBOXで表示させ、その後OFF(False)にするようなサンプルを作って、Excel2000で試してみました。 Private Sub CommandButton1_Click() MsgBox OptionButton1.Value OptionButton1.Value= False End Sub というコードです。 とりわけ問題なく動作しました。 LinkCellを指定するかどうか、複数配置かどうかで微妙に動作が異なるようです。 参考までに。

merlionXX
質問者

お礼

さっそく有難うございます。 助かりました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

Private Sub OptionButton1_Click() MsgBox "aaa" MsgBox OptionButton1.Value OptionButton1.Value = False End Sub これをコード内にポイントして、そのままF5で実行します。 FALSEかTRUEと表示されます。 シートのボタンをクリックすると、FALSEかTRUEと表示されます。 これで判ります。 (1)xlOn,xlOff (2)0、-1,1 (3)TRUE,FALSE などやってみるのが要領か?

merlionXX
質問者

お礼

有難うございます。 よくわかりました。

関連するQ&A