申込書をエクセルで作成しています。
ひとつのシートの中に、いくつものグループに分けて
オプションボタンを作りたいのですが、今ひとつ
グルーピングの方法がわかりません。
グループボックスを使ってグルーピングしているつもりでも、
いつのまにか、他のグループとくっついてしまいます。
どうやったら、きれいにオプションボックスのグループを
分けることができるのでしょうか?
教えてください。

A 回答 (1件)

こんにちは。

maruru01です。
オプションボタンのプロパティに「GroupName」というプロパティがあり、これに同じ名前を設定すると、グループ化されます。
つまり、同じGroupNameを持つオプションボタンの中で1つだけ選択出来るというわけです。
他に、フレームコントロールを置いてその中に1つのグループになるオプションボタンを置けばグループ化出来ますが、コントロールを置くと容量を食うので、上記のGroupNameプロパティを利用する方法の方がよいと思います。
では。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
で、早速やってみようと思ったのですが、
オプションボタンの右クリックのプロパティには
「GroupName」というプロパティが見当たりません。。
どうやったら設定できるのでしょうか?
教えてください。お願いします。

お礼日時:2001/10/10 09:48

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

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

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

Qエクセルのグループボックス枠線を消す、ボックス数

オプションボタンの枠線を消す、グループ数についての質問です。

イミディエイト ウインドウにて、
ActiveSheet.GroupBoxes.Visible = Faulse
の記入で枠線を非表示にすることが確認できていますが、、、、、

YesNoの二択の質問が多く72あります。
各々YesとNoのオプションボタンをグループ化して、最後に
「ActiveSheet.GroupBoxes.Visible = Faulse」を入力しましたが
エラー1004でした。一つずつグループを消していき、61個になった時点で
消すことが出来ました。

数量に限度があるのでしょうか。また回避する方法があれば教えてください。
よろしくお願いいたします。

Aベストアンサー

回答したとおりに行っていただければよいだけのことなのですが,それとも一体「何が」変わらないのですか?



二度も同じ事をお話ししたくは無いのですが,デキナイという事なので手順の説明をもう一度繰り返します。


>ちなみにイミディエイトウィンドウに
Ctrl+Gでイミディエイトウィンドウを出します。
しかしイミディエイトウィンドウを出す事は既に出来ているはずです。


>for each o in activesheet.checkboxes : o.visible = false : next
イミディエイトウィンドウにこの一行を記入します
「ActiveSheet.GroupBoxes.Visible = False」を記入するなんて事はお話ししていません。


>と記入してEnterすることで,回避できます。
上述を記入しEnterすることで実行します。
しかしこの手順も既に「ActiveSheet.GroupBoxes.Visible = False」を記入しEnterして実行できたことで,出来ているはずです。




#それともこういうことを言ってるのですか?

この手順を実行することで「ActiveSheet.GroupBoxes.Visible = Falseでエラーになるのを回避できる」という事をお話ししているのではありません。
この手順を実行することで,あなたが行った手順で発生したエラーを起こさずに,グループボックスを全て非表示に出来ますとお話ししています。

回答したとおりに行っていただければよいだけのことなのですが,それとも一体「何が」変わらないのですか?



二度も同じ事をお話ししたくは無いのですが,デキナイという事なので手順の説明をもう一度繰り返します。


>ちなみにイミディエイトウィンドウに
Ctrl+Gでイミディエイトウィンドウを出します。
しかしイミディエイトウィンドウを出す事は既に出来ているはずです。


>for each o in activesheet.checkboxes : o.visible = false : next
イミディエイトウィンドウにこの一行を記入します
「ActiveSh...続きを読む

Q続)ユーザーフォームにあるチェックボックスやオプションボタンなどの選択結果保存

 以前に,エクセルファイルを閉じても,再度ファイルを開いたときに,閉じる前のユーザーフォームにあるチェックボックスやオプションボタンなどの選択結果を再表示させる方法をお教えいただき,そのご指導のもとコントロールの状態を、シートに保存しておく方法で作業を進めていました。
しかし,次の2点の問題が新たに出てきました(><)。いろいろと自分なりに考えて見ましたが,解決できず再度投稿させていただきました。
問題1.ユーザーフォームに「ラベル」・「イメージ」・「マルチページ」等があると,エラーが発生します。
問題2.「コンボボックス」は,保存したコントロール状態は再表示するのですが,リストを読み込まず,コンボボックスでほかのものが選択できない事になってしまいます。

大変、恐縮なのですが、どなたか解決策をお教えください。
何卒、よろしくお願いいたします。

例)UserForm1にチェックボックス、オプションボタン、トグルボタン、テキストボックス、「ラベル」・「イメージ」・「マルチページ」「コンボボックス」を作る。SHEET2のセル(E1:E5)にコンボボックスのリストを作る。こうしたユーザーフォームの結果をフォームを閉じる時にシート(dataという名前をつけています)に保存し、フォームを開く時に、値を読み込みこませるようにしました。(、「ラベル」・「イメージ」・「マルチページ」「コンボボックス」を省くと以下のコードで問題なく作動します。)

'☆標準モジュール
Sub test()
UserForm1.Show
UserForm1.ComboBox1.List = Sheets("sheet2").range("E1:E5").Value
End Sub

'☆ UserForm1のモジュール
Private Sub UserForm_Initialize()
Dim srcRange As Range
Dim myCell As Range

Set srcRange = ThisWorkbook.Sheets("data").Range("A1").CurrentRegion
For Each myCell In srcRange.Columns(1).Cells
Me.Controls(myCell.Value).Value = myCell.Offset(0, 1).Value
Next myCell
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim myCtrl As Control
Dim destRange As Range

Set destRange = ThisWorkbook.Sheets("data").Range("A1")
destRange.Parent.Cells.Clear
For Each myCtrl In Me.Controls
With destRange
.Value = myCtrl.Name
.Offset(0, 1).Value = myCtrl.Object.Value
End With
Set destRange = destRange.Offset(1, 0)
Next myCtrl
End Sub

 以前に,エクセルファイルを閉じても,再度ファイルを開いたときに,閉じる前のユーザーフォームにあるチェックボックスやオプションボタンなどの選択結果を再表示させる方法をお教えいただき,そのご指導のもとコントロールの状態を、シートに保存しておく方法で作業を進めていました。
しかし,次の2点の問題が新たに出てきました(><)。いろいろと自分なりに考えて見ましたが,解決できず再度投稿させていただきました。
問題1.ユーザーフォームに「ラベル」・「イメージ」・「マルチページ」等があ...続きを読む

Aベストアンサー

回答がついてないようなので。。。(^^;;;

----------------------------------------------------
>問題2.「コンボボックス」は,保存したコントロール状態は
再表示するのですが,リストを読み込まず
  >Sub test()
  >UserForm1.Show
  >UserForm1.ComboBox1.List = Sheets("sheet2").range("E1:E5").Value
  >End Sub

これではリストを読み込むことはできません。
>UserForm1.ComboBox1.List = Sheets("sheet2").range("E1:E5").Value

これは、UserForm_Initializeイベントのところに書かないといけません。
 
--------------------------------------------------------

>問題1.ユーザーフォームに「ラベル」・「イメージ」・「マルチページ」等があると,エラーが発生します。
>「ラベル」・「イメージ」・「マルチページ」「コンボボックス」を
省くと以下のコードで問題なく作動します
>UserForm1にチェックボックス、オプションボタン、トグルボタン
テキストボックス、「ラベル」・「イメージ」・「マルチページ」「コンボボックス」

何でもかんでもVALUEプロパティを使えばいいというものではありません。
「ラベル」・「イメージ」には、VALUEプロパティがありませんよね。
だから、エラーが出るわけです。


------------------------------------------------------------

コントロールの何を保存したいのかによって
使用するプロパティなどが変るわけですから、
コントロールを●区別●する必要があるわけです。

例えば、
ラベルに表示されている文字列を保存したければ
  Captionプロパティを使用
チェックボックスのOn,Offを保存したければ
  Valueプロパティを使用

以上です。
 

回答がついてないようなので。。。(^^;;;

----------------------------------------------------
>問題2.「コンボボックス」は,保存したコントロール状態は
再表示するのですが,リストを読み込まず
  >Sub test()
  >UserForm1.Show
  >UserForm1.ComboBox1.List = Sheets("sheet2").range("E1:E5").Value
  >End Sub

これではリストを読み込むことはできません。
>UserForm1.ComboBox1.List = Sheets("sheet2").range("E1:E5").Value

これは、UserForm_Initializeイベント...続きを読む

Qエクセルでグループ分け

お知恵を貸してくださいよろしくお願いします。

A:グループ名 B:性別 C:名前

が100人分横で入っています。

それを、グループごとに分けて、縦の一覧にしたいのです。

  A B C
1 A 男 佐藤
2 C 女 山田
3 B 女 田中
4 A 女 鈴木

  ↓(別シートに)

  Aグループ   Bグループ   Cグループ
1 男 佐藤    女 田中    女 山田
2 女 鈴木




このように抽出して、並び替えることを関数をつかってできないでしょうか。よろしくご教示ください。

Aベストアンサー

◆Sheet2のA2の式
A2=IF(ROW(A1)>COUNTIF(Sheet1!$A$1:$A$10,A$1),"",INDEX(Sheet1!$B$1:$B$10&" "&Sheet1!$C$1:$C$10,SMALL(INDEX((Sheet1!$A$1:$A$10<>A$1)*100+ROW($A$1:$A$10),),ROW(A1))))
★右と下にコピー

◆Sheet1のグループ名は、Sheet1のB列の表示と同じにしてください(大文字、小文字の区分に注意)
◆なお、「Aグループ」のように表示したければ、表示形式をユーザー定義で、 @"グループ" としてください

Qエクセルでグループ分け

エクセルでセルB1~B30に30名の名前を入力してます。ランラムに分けてグループNo.1~グループNo.30グループ名をセルC1~C30に書きたいのですがどうすればよいでしょうか?
ご存知の方、教えてください。

Aベストアンサー

>グループNo.1~グループNo.30グループ名をセルC1~C30に書きたい

D1セルに
=RAND()
と記入し、D30セルまでコピー貼り付ける

C1セルに
="グループNo."&RANK(D1,D:D)
と記入し、C30セルまでコピー貼り付ける



#D列を汚したくなければ、どこか目立たないZ列でもシート2でもどこに追いやっても構いません。

Qエクセルでグループ分け。

 よろしくお願いします。
データー
   A      B     C     D
1 1/1    20   19    50
2 1/2    65   55    89
3 1/3    88   80    89
4 1/7    25   02    80
5 1/8    44   13    99
6 1/10   93   23    95
7 1/14   12   -2    46
8 1/15   23   11    45

 というデーターがあります。
このデーターのB列の数字を基準にし、C列の数字とD列の数字の二つを比べ、C列の数字と近い場合とD列の数字と近い場合のデーターを抜き出せるようにしたいと思います。
 B列の数字がC列の数字と近い場合の結果
   A      B     C     D
1 1/1    20   19    50
2 1/7    25   02    80
3 1/8    44   13    99
4 1/14   12   -2    46
5 1/15   23   11    45

 B列の数字がD列の数字と近い場合の結果
1 1/2    65   55    68
2 1/3    88   80    89
3 1/10   93   23    95


 できる方、よろしくお願いします。

 よろしくお願いします。
データー
   A      B     C     D
1 1/1    20   19    50
2 1/2    65   55    89
3 1/3    88   80    89
4 1/7    25   02    80
5 1/8    44   13    99
6 1/10   93   23    95
7 1/14   12   -2    46
8 1/15   23   11    45

 というデーターがあります...続きを読む

Aベストアンサー

#4です。
>基本的にはANo.2と同じ解決方法ですね
違います。ABSの利用が売りのつもりです。


このカテゴリの人気Q&Aランキング

おすすめ情報