VisualBasicを最近始めました。
初歩的な質問でスイマセン。
オプションボタンを複数作リました。
オプションボタンAにチェックを入れたまま、オプションボタンBにチェックを入れようとするとAのチェックが消えてしまいます。
調べてみると、フォームの上に直接ではなく、フレームを一度作成しその上にオプションボタンを置くと良いとあったのでやってみたのですが
うまく行きません。
どうしたらよいでしょうか。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

複数同時選択を可能にするのでしたら「CheckBox」を


使った方が良いと思うのですが?

「OptionButton」でやろうとしたら次のようにすれば
出来ると思います。
ただし、「OptionButton」の場合1度選択してしまうと
非選択状態にすることは出来ません。

1.Frame1を貼り付ける。
  ┏━━━━━┓
  ┃┏Frame1┓┃
  ┃┃   ┃┃
  ┃┗━━━┛┃
  ┃     ┃
  ┃     ┃
  ┃     ┃
  ┗━━━━━┛
2.O(ption)B(utton)1を貼り付ける。
  ┏━━━━━┓
  ┃┏Frame1┓┃
  ┃┃oOB1 ┃┃
  ┃┗━━━┛┃
  ┃     ┃
  ┃     ┃
  ┃     ┃
  ┗━━━━━┛
3.Frame1を選択し右クリックでコピー後貼り付ける。
  ┏━━━━━┓
  ┃┏Frame1┓┃
  ┃┃oOB1 ┃┃
  ┃┗━━━┛┃
  ┃┏Frame1┓┃
  ┃┃oOB1 ┃┃
  ┃┗━━━┛┃
  ┗━━━━━┛

この回答への補足

早速の回答有難う御座います。

>複数同時選択を可能にするのでしたら「CheckBox」を
>使った方が良いと思うのですが?

仰る通りです。はい。
でもなんでオプションボタンでは出来ないようになってるんですかねぇ?
gokkunさんの言われた通りやったら出来ましたが、
やはり、非選択状態に戻せる方法が知りたいので、
ポイントの方はもうしばらくお待ち頂けますか?
勝手を言って申し訳ありません。

補足日時:2001/07/06 21:38
    • good
    • 0
この回答へのお礼

やはりチェックで考えることにしました。
回答どうもありがとうございました。
今後ともよろしくお願いします。

お礼日時:2001/07/06 22:35

オプションボタンは複数の項目から1つを選択させる為のボタン



チェックボックスは項目一つ一つにたいして有効/無効を選択させるためのボタン

と割り切って使いましょう
    • good
    • 0
この回答へのお礼

そうですね。
そう言う考えが大切なのかもしれませんね。

お礼日時:2001/07/06 22:37

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q千葉県

こんにちわ♪
私は、生まれも育ちも「千葉県」です。
そこで、質問なんですが、皆さんが持つ「千葉県」「千葉県民」のイメージを
教えて下さい(*^∇^*)やっぱり、落花生とか海とかなのかな?
ふと気になったんで(笑)
生まれてから、約20年間千葉に住んでいるので、自分ではどうしても「千葉県」「千葉県民」を客観視できなくて・・・
辛口意見もOKです♪(笑)ただ、単なる中傷とかは、千葉県を愛してる人もいると思うからご遠慮下さいね。

Aベストアンサー

私も千葉県生まれの千葉県育ちで千葉大好きッス!!

別に客観視しなくてもいいと思います。

千葉の銘菓といえば「パイまん」と「ほろにがい千葉ん」でしょ~
特に「ほろにがい千葉ん」
この辺のダジャレっぷりが千葉っぽくていいよね!!
千葉は気候も暖かく、海も山も近くにあるので生活に困る事はほとんど無い。
他の地域の人たちより暑さ、寒さに苦しむ事も無く穏やかなので
性格ものんびりおっとりが多いんじゃ無いかな~
口が悪い人は多いけどね。「バカ」は親しい人への挨拶みたいなモンだしね。
それって千葉県民なりの愛情表現。
他の地域の人たちは知らないから吃驚したり怒ったりするけどね~

俺も千葉県人だからのんびりぼけ~ッとしているし、千葉はいい所だし
このまま一生千葉にいたいと思っています。

Qシート上のオプションボタン、チェックボックスを配列にする。

シート上のオプションボタン、チェックボックスを配列にする。

Excel2003です。
シート上にオプションボタン、チェックボックスを増やすと、OptionButtonN、CheckBoxN (大文字Nは任意の数値)となります。これをOptionButton(N)のように配列にできないでしょうか?
プログラムで扱う場合、配列でしたら処理が楽になると思うからです。

また、同じくシート上にオプションボタンを配置するとどれか1つしか選択できません。(ひとつしかValueをTrueにできません。)
UserFormのようにFrameがあればその中で1つを選択できるのですが、シート上に直接配置する場合、Frameが扱えないように思います。グループ化して複数選択する方法はないでしょうか。

よろしくお願いします。

Aベストアンサー

> OptionButton(N)のように配列にできないでしょうか

出来ません。
一つ発想を替えてLinkedCellを使ったらどうでしょうか。
OptionButton1をA1
OptionButton2をA2
OptionButtonNをAN (大文字Nは任意の数値)
に設定し、A1,A2,A(N)を参照します。
A1をTrue にするとOptionButton1はONに
逆に
OptionButton1をOFFにするとA1はFalseになります。


> グループ化して複数選択する方法
GroupNameを適当にグループ毎に名前を付けてやれば出来ます。

Q千葉県の素晴らしいところ

近いうちに、大阪から千葉県に移り住むかもしれません。少しでも千葉県のことを知っておきたいと想っています。そこで、みなさんが感じる、千葉県の素晴らしいところを教えていただけませんか?よろしくお願いします。

Aベストアンサー

こんにちは。
千葉へようこそ。

千葉には数十年住んでいました。
(今は仕事などの関係で、別のところに住んでいます。)

千葉といっても、
私は、「千葉県南部」、
   「千葉市周辺~東京都近く」
が行動範囲でしたが。

「銚子」近辺などのJR成田線、総武本線、
「柏、松戸、我孫子」などのJR常盤線(千葉駅からは少々行きづらい)
あたりが、詳しくない地域です。



私の個人的な意見ですが、
千葉は、下記のような場所です。

●ディズニーリゾートで有名(京葉線 舞浜駅)
 
 通勤定期で降りられましたが、そんな毎日入るほどではありません(笑)。
 夜8時半頃、打ち上げる花火は、
 舞浜駅のホームや電車からも見えます。
 一駅先の「葛西臨海公園駅」にある、
 大きな観覧車も見えてキレイです。
 
 ディズニーランドなどより、入場料のかからないイクスピアリで、
 ウィンドーショッピングするのが好きでした。
 買い物が、一年中、夜九時までできましたし。
 ここからも花火、見れますよ。
  
 ※京葉線は、千葉駅を通っていない、
  というのは、千葉県民からみても不思議な事のひとつです。


●千葉県内最大(?)のショッピングセンターは、広い!
(京葉線 南船橋駅)

 以前、南船橋には、快速電車が停車しなかったのですが、
 「ららぽーと」のリニューアルがあって、
 買い物客が増えてから、停車するように。

 シネコンもあり、広々とした店内は迷子になりそうです。
 「東京パン屋ストリート」は、待ち時間がでるほどの、
 フードテーマパークです。(私は待ち時間に驚いて、まだ入っていません)


●近未来都市みたい・・・(京葉線 海浜幕張駅)

 開発の手が入ったのが少々遅かったので、
 大きなビル(IT系企業多し)が多いです。
 そのため、よくドラマやCMの撮影に使われています。
 東京都内を走るバスを使った、佐藤浩一のCMも、
 ここで撮影していました。

 モーターショーで有名な「幕張メッセ」も、ここにあります。
 フランスから進出したスーパー「カルフール」も、ここです。
(業績がよくないので、国内の企業に売却予定ですが)

●灰をかぶるくらい近くで見られる花火大会(京葉線 千葉みなと駅)

 都内よりも、規模は小さいですが、
 ポートタワー近くの花火大会は、座れる場所が多いです。
 結構、近くで見られますよ。
 今年は、「江戸川花火大会(総武線 市川駅)」と一緒の日でした。

●貸し出し数 日本一の図書館 (浦安市)

 「浦安市図書館」は、日本全国から視察にくる図書館です。
 返却された本が、かなりの早さで、棚に整理されたり、
 司書の方が多かったり・・・
 いろいろ改革している図書館みたいですよ。

●初年度の利用者は、ディズニーランドに勝った「アクアライン」

 千葉県木更津市→神奈川県川崎市
 を横断する道路。半分は地下、半分は海上を走ります。
 晴れていると気持ちいいですし、夜景もまあまあです。
 この道路の近くに、「スパ三日月 竜宮城」という、スパ施設があります。

 地元民は、横浜や羽田に行く時に楽になって喜んでますが・・・。
 リピーターが少ないせいか、業務用車両が使わないせいか、
 1日に1億円の赤字が発生しています(苦笑)。
 困った公共事業です・・・。

●「木更津キャッツアイ」のロケ地  (内房線 木更津駅)

 撮影後、しばらくはロケに使ったお店なども観光用に公開されていました。
 ドラマに出てきた「やっさい もっさい」祭りは、実在します(笑)。

●星の数に驚く!砂浜 (九十九里海岸、千倉など)

 市街地から少し離れるせいか、
 特に冬は、とても星がきれいです。
 でも夏に流星群を見るのもいいですね。

●食材が安くて、美味しい

 農業県のため、野菜が安くて新鮮です。
 (スイカなど、日本2位というのが、意外と多いんですよ。)
 果物も安いですよ。梨も盛んですし。
 海が近いためか、魚も安いです。
 国道沿いの回転寿司でも安いわりに美味しいような・・・。
 畜産も、卵(3位)、豚(5位)、乳牛(5位)など、
 盛んなため、安くて新鮮です。
 ・・・でも安く感じたのは、私が住んでいたのが、
 田舎だったからかもしれませんが(笑)。

 組織的な酪農は、千葉県南部が発祥地のようです。

●海と並走する線路 (内房線、外房線)

 内房線なら、冬の晴れた日や、
 風の強い夕暮れに富士山が拝めます。
 外房線なら、太平洋が拝めます。
 プラットホームの近くに桜が植えられている駅では、
 桜を見ながら、さざなみを聞く事ができますよ。

●温暖な気候だから見られる、さまざまな花

 1月  水仙(内房線 保田駅)何キロも続く、水仙畑。
     菜の花(房総フラワーライン・館山)千葉県の花です。
 2月  梅(梅林園・総武線 幕張本郷駅)
 3月  チューリップ(佐倉チューリップまつり)40万本と、すごい規模です。
 4月  桜(吉高の大桜)山桜で、天然記念物に指定されています。
     レンゲ(大多喜世界レンゲまつり)6ヘクタールと、すごい規模です。
 5月  牡丹(茂原牡丹園)
     薔薇(谷津バラ園・京成電鉄 谷津駅)
 6月  紫陽花(あじさい屋敷・茂原)
 7月  菖蒲(佐原市立水生植物園)東洋一の規模です。水郷の町として有名。
 8月  向日葵(成田ゆめ牧場・成田線 滑河駅から送迎バス)
 9月  コスモス(マザー牧場・富津)斜面一面に咲くのが見事です。
     サルビア( 〃 )
 10月 菊(成田山・成田線 成田駅)
 11月 紅葉(不動滝・鴨川)
 12月 ポピー(館山ファミリーパーク) 買って帰る事もできます。
     ストック( 〃 )

 今はデジカメですが、昔は一眼レフカメラをかついで、
 よく花の写真を撮りに行きました。いいところですよ♪

ちーとばし(←私の住んでいた地域の方言)、口が悪くても、
千葉、いいところですよ。
好きになって下さったら、幸いです。、




 

 

こんにちは。
千葉へようこそ。

千葉には数十年住んでいました。
(今は仕事などの関係で、別のところに住んでいます。)

千葉といっても、
私は、「千葉県南部」、
   「千葉市周辺~東京都近く」
が行動範囲でしたが。

「銚子」近辺などのJR成田線、総武本線、
「柏、松戸、我孫子」などのJR常盤線(千葉駅からは少々行きづらい)
あたりが、詳しくない地域です。



私の個人的な意見ですが、
千葉は、下記のような場所です。

●ディズニーリゾートで有名(京葉線 舞浜駅)
 
...続きを読む

Q入力されたかどうか、オプションボタンが選択されたかどうかをチェックしたい

入力されたかどうか、オプションボタンが選択されたかどうかをチェックして、OKなら次の入力にすすむとゆうプログラムを作りたいのですが、今回の場合、optAとoptBとoptCとがあり選択されたらcmbAとcmbBの入力(選択)を許可するとゆうプログラムを作りたいのです。簡単に
If optA.Value = False And optB.Value = False And・・・
とゆうやり方はあると思うのですが、数が増えたときのためにもっと効率よくしたいのです。ネットには、

ユーザフォーム上に配置された各コントロールの入力チェックを行う段階でオプションボタンの値を効率的にチェックするには、フレームコントロール配下のControlsプロパティーから取得されるコレクションから各オプションボタンを取得し、Valueプロパティーを評価します。

'====================================================================
(For Each ループのネストによる手法)
※他のコントロールの評価も同時に行うことを想定しています
'フレーム数とTrueであったオプションボタンの個数とを比較
'OKが表示されない場合は未選択のオプショングループあり。
'=====================================================================
また、フレームの数分だけのループを指定して入力チェックを行う場合は・・・
======================================================================
(Controlsコレクションのインデックスからフレーム内のコントロールにアクセスする手法)

と書いてあったのですが、初心者なものでよくわかりませんでした。この方法を詳しく解説もしくわ、他によい方法があればよろしくお願いします。

入力されたかどうか、オプションボタンが選択されたかどうかをチェックして、OKなら次の入力にすすむとゆうプログラムを作りたいのですが、今回の場合、optAとoptBとoptCとがあり選択されたらcmbAとcmbBの入力(選択)を許可するとゆうプログラムを作りたいのです。簡単に
If optA.Value = False And optB.Value = False And・・・
とゆうやり方はあると思うのですが、数が増えたときのためにもっと効率よくしたいのです。ネットには、

ユーザフォーム上に配置された各コントロールの入力チェックを行う段...続きを読む

Aベストアンサー

起動時に(最初)オプションボタンは全て未選択状態に初期化されているとしています。
下は例ですが、For Each で TypeName を使いオプションボタンを特定すれば、何個あってもいいはずです。
調べるきっかけはコマンドボタンにしてみました。ご参考に。


Private Sub Command1_Click()
  Dim myCtrl As Control 'コントロール
  Dim ChkFlg As Boolean 'オプションボタンを押してあるか

  'オプションボタンを調べる
  For Each myCtrl In Controls
    If TypeName(myCtrl) = "OptionButton" Then
      If myCtrl.Value Then
        ChkFlg = True
      End If
    End If
  Next

  '調べた結果
  If ChkFlg Then
    cmbA.Enabled = True
    cmbB.Enabled = True
  End If
End Sub

起動時に(最初)オプションボタンは全て未選択状態に初期化されているとしています。
下は例ですが、For Each で TypeName を使いオプションボタンを特定すれば、何個あってもいいはずです。
調べるきっかけはコマンドボタンにしてみました。ご参考に。


Private Sub Command1_Click()
  Dim myCtrl As Control 'コントロール
  Dim ChkFlg As Boolean 'オプションボタンを押してあるか

  'オプションボタンを調べる
  For Each myCtrl In Controls
    If TypeName(myCtrl) = ...続きを読む

Q千葉県に縁の深いプロ野球チームは

最終確認ですが、千葉県に縁の深いプロ野球チームは、我らが千葉ロッテマリーンズ、鎌ヶ谷に2軍のある北海道日本ハムファイターズ、千葉県習志野市で結成され佐倉市が出身のミスターもいる読売ジャイアンツですよね?

Aベストアンサー

千葉県出身のプロ野球選手は多数います。

ミスターを筆頭に掛布、小笠原、阿部慎之助、高橋由伸、篠塚、与田、涌井…等。

しかしながら千葉県と言えば…やはり「千葉ロッテマリーンズ」でしょう!

Qオプションボタン(配列)のチェック変更

実質、NO.3213956の続きです。
聞いてばかりもだめなので小一時間探したのですが、
見つからないので、また質問させていただきます。

オプションボタンが2個以上(同じオブジェクト名で配列・欠番はないものとする)、テキストボックス(数字しか入力できない)が1個、コマンドボタンが2個あります。

テキストボックスに数字を入力し、コマンドボタンを押すと
入力した数字の配列番号のオプションボタンをTrueにします。

Private Sub Command1_Click()
Dim ctl As Control 'コントロール
Const conCTLNAME = "Option1"

Dim intIndex As Integer
For Each ctl In Me.Controls
'テキストに数字入力確認
If IsNumeric(txtIndex.Text) Then
intIndex = CInt(txtIndex.Text)
Else
MsgBox "数字を入れてください"
Exit Sub
End If
'オプションボタン判定
If InStr(1, conCTLNAME, ctl.Name, vbTextCompare) Then
ctl(intIndex).Value = True '※
End If
Next ctl
End Sub

しかし、※でエラー「オブジェクト配列のインデックスを指定してください」が表示されます。
数字を選ぶところは、実際はDBに格納されているNumber型のフラグを持ってくる形になります。

コントロールを変数に格納している仕様で難しいですが、
アドバイスをお願いします。

実質、NO.3213956の続きです。
聞いてばかりもだめなので小一時間探したのですが、
見つからないので、また質問させていただきます。

オプションボタンが2個以上(同じオブジェクト名で配列・欠番はないものとする)、テキストボックス(数字しか入力できない)が1個、コマンドボタンが2個あります。

テキストボックスに数字を入力し、コマンドボタンを押すと
入力した数字の配列番号のオプションボタンをTrueにします。

Private Sub Command1_Click()
Dim ctl As Control 'コント...続きを読む

Aベストアンサー

訂正

Public Function SetCtlValue(ByVal ctlName As String, _
              ByVal I As Variant, _
              ByVal V As Variant) As Boolean
On Error Resume Next
  Dim isOK As Boolean
  Dim ctl As Control
  
  For Each ctl In Me.Controls
    Debug.Print ctl.Name
    If ctl.Name = ctlName Then
      If I = -1 Then
        ctl.Value = V
        ctl.Text = V
        isOK=True
        Exit For
      ElseIf ctl.index = I Then
        ctl.Value = V
        ctl.Text = V
        isOK=True
        Exit For
      End If
    End If
  Next ctl
  SetCtlValue = isOK
End Function

訂正

Public Function SetCtlValue(ByVal ctlName As String, _
              ByVal I As Variant, _
              ByVal V As Variant) As Boolean
On Error Resume Next
  Dim isOK As Boolean
  Dim ctl As Control
  
  For Each ctl In Me.Controls
    Debug.Print ctl.Name
    If ctl.Name = ctlName Then
      If I = -1 Then
        ctl.Value = V
        ctl.Text = V
        isOK=True
    ...続きを読む

Q今現在の千葉県での生活

私は千葉県の大学に進学しようか迷っています。
周りの人からは、千葉県などの関東圏は震災の影響で放射線の恐怖、地震が未だに頻繁に発生する、節電で思うように電気が使用できない、などで千葉県に行っても生活に困ってしまうという意見が多数です。

そこで質問なんですが、今現在の生活はどのようなものなのでしょうか?
やはり地震や節電などで震災前の生活はできていないのでしょうか?

千葉県にお住まいの方に解答していただけると幸いです。
わかりずらい文章ですいません。

Aベストアンサー

私は千葉県佐倉市に
家族4人で住んでいます。

千葉県の中でも
場所によって
差はあると思いますが
電気が使用出来ないとか
まったくありません。

あと周辺地域の
震災に関連する色々な
情報も 仕入れてますが
特に放射能の事で
危険があるとか 一切
ありません。

だから普通に
生活していますよ !
(自主的に節電は
しているつもりですが)

質問者様が行く予定の
地域にある 市役所の
環境管理局?等に
問い合わせたら
答えてくれると思います。

あまり 過大な心配は
なさらずに
大変かと思いますが
進路など頑張って下さい!

QVBのチェックボックス、オプションボタン、テキストボックス

以前にたような質問したのですがうまくいかなかったので改めて質問します。
チェックボックスを使ってテキストに文字を表示させる。
オプションボタンを使ってテキストに文字を表示させる。この2つは簡単にできるのですが、これを組み合わせて、チェックをしたときはオプションボタンで表示されたものと違う表示をしたいのですがうまくいきません。
構成はチェックボックスが2つ、オプションボタン4つ。テキストボックスが4つです。テキストボックスはチェックボックスとオプションボタンそれぞれ同じものをつかっています。わかる方教えてください。説明がわかりにくいかもしれませんが・・

Aベストアンサー

すみません、質問の内容が良くわかりません。
要するに
・チェックだけの場合は”チェック”
・オプションだけの場合は”オプション”
・チェックとオプションの場合は”両方”
と言った感じでしょうか。

'チェックボックスがクリックされた
Private Sub Check1_Click()
Call textcheck
End Sub

'オプションボタン1がクリックされた
Private Sub Option1_Click()
Call textcheck
End Sub

'オプションボタン2がクリックされた
Private Sub Option2_Click()
Call textcheck
End Sub

'表示文字判定
Sub textcheck()
If Check1.Value = 0 Then 'CheckBox Off ?
If Option1.Value = True Then 'Option1 ?
Text1.Text = "オプション1"
Else 'Option2
Text1.Text = "オプション2"
End If
Else 'CheckBox On
Text1.Text = "両方"
End If
End Sub

で出来ると思います。

すみません、質問の内容が良くわかりません。
要するに
・チェックだけの場合は”チェック”
・オプションだけの場合は”オプション”
・チェックとオプションの場合は”両方”
と言った感じでしょうか。

'チェックボックスがクリックされた
Private Sub Check1_Click()
Call textcheck
End Sub

'オプションボタン1がクリックされた
Private Sub Option1_Click()
Call textcheck
End Sub

'オプションボタン2がクリックされた
Private Sub Option2_Click()
Call textcheck
End Sub

...続きを読む

Q今回の震源地は千葉県北西部?

報道では23日の地震は「千葉県北西部を震源とする強い地震」となってますが、地図で見ると房総半島の真ん中あたりですよね?
この辺は「千葉県の北西部」なんでしょうか?
以前千葉に住んでいたこともあるのですが意外な気がします。
感覚的には「千葉県南部」だと思います。

人口は関係ないんでしょうが、人工的には千葉市の北西の方が圧倒的に多いので、その辺が中心地とすると明らかに「南部」だと思うのですが・・・

Aベストアンサー

市原市は、千葉県中央にありますが、気象での区分は、北西部、北東部、南部の3区分なので、市原市までが北西部です。
1997年までは県単位の予報でした。
気象予報区については、参考URLをどうぞ。

でも、市原市って、ぞうの国とか、房総半島のど真ん中まで市域なんですよね。^^;)

参考URL:http://www.tt.rim.or.jp/~ishato/tiri/tenki/tenki.htm

QBVAユーザーフォーム上でのオプションボタンについて

BVAを3時間前から勉強しだした超初心者です。よろしくおねがいします。

エクセルVBAのユーザーフォーム上でオプションボタンをA・B・Cと3つ、コマンドボタンを1つ作成します。
A・B・Cのどれかを選択した状態でコマンドボタンをクリックしたときに、シート1のA列2行目から下に順番にデータとして、Aをクリックしたときにはa、Bをクリックしたときにはb、Cをクリックしたときにはcが入力されるようにコードを作りたいです。

今試行錯誤して作ったものは、オプションボタンをクリックした時点でシート1に入力されてしまうため困っています。

Aベストアンサー

こんなコードではどうでしょうか?
オプションボタン側にはコードはいりません。

Private Sub CommandButton1_Click()
  With Range("A65535").End(xlUp).Offset(1)
    If OptionButton1 = True Then .Value = "a"
    If OptionButton2 = True Then .Value = "b"
    If OptionButton3 = True Then .Value = "c"
  End With
  Unload Me
End Sub


人気Q&Aランキング

おすすめ情報