質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%

Q&A

解決済

1回答

3932閲覧

エクセル2010 オプションボタンについて

pxpxp

総合スコア13

0グッド

0クリップ

投稿2019/02/13 02:05

エクセル2010(WINDOWS)を使用しています。
「開発タブ」全般初心者なのですが、下記のことをやりたいと思っています。

1:チャート式のアンケートを作成したい。
(一つの質問から、YES/NOで分岐をして次の質問に進む形式)
2:オプションボタンにて、YES/NOを選択すると、たどり着いた回答のセルの色が変わる
⇒ここをVBAで組んでいるため、オプションボタンはactivexで作成しています。
3:オプションボタンのTrue/Falseについては、セルにリンク済み(AS1~20)
4:10~100人程度の調査をするため、【原本】シートをコピーして使いたい
5:全員分入力が終わったら、最後VBAでまとめのシートを作成する

発生している問題・エラーメッセージ

上記1・2・5については、問題なくできています。
ただ、3・4について、シートをコピーして使おうと思うと、
オプションボタンのグループが【原本】シートと同じになってしまい、
選択自体はできるものの、すべてのシートのセルAS1~20にオプションボタン選択の結果が反映してしまいます。
例なのですが、
原本コピー×2⇒Aさんが入力⇒Bさんが入力⇒Aさん・Bさんの答えが、原本&Aさんシート&Bさんシートにもれなく反映

試したこと

ネットで調べたところ、activeXのオプションボタンは、シートごとではなく串刺しになるという記述をみました。
フォームコントロールの方なら、シートごとになるとのことですが、
これだとマクロの自動実行ができないので困っています。

知りたいことは、
○activeXのオプションボタンを、シートコピーして使用することはできないのでしょうか?
何かいい解決策があればご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ただ、3・4について、シートをコピーして使おうと思うと、
オプションボタンのグループが【原本】シートと同じになってしまい、
選択自体はできるものの、すべてのシートのセルAS1~20にオプションボタン選択の結果が反映してしまいます。

コピーした時に、グループ名を変更しましょう。
例えば、コピーしたシート名は、「回答者名」にするとして、
グループ名を、「回答者名_グループ1」とかにすればいいでしょう。

ネットで調べたところ、activeXのオプションボタンは、シートごとではなく串刺しになるという記述をみました。

聞いたことがない。ガセネタじゃないかな。
例えば、ActiveXボタンをダブルクリックするとシートモジュールが開いてコードが記述される。
当然、シート毎の処理になる。

追記

4:10~100人程度の調査をするため、【原本】シートをコピーして使いたい

100人だと、100枚のシートということになりますよね。
これは、管理が大変では。

入力は1枚のシートにするか、ユーザーフォームで入力するようにして、
結果を結果データシートに格納する設計にした方がいいかと。

結果データシートの設計例

回答者ID回答者名回答日質問1質問2質問3・・・
1AAA2019/02/13121

テキストボックスに回答者名を入力させるか、コンボボックスで選択させるようにして、
回答結果を上記のテーブルに追加していくというような設計にします。

追記2

自分がするなら、という設計例を一つ提示しておきます。

ユーザーフォームでアンケート入力させます。

シートは、
回答者シート(回答者ID 回答者名)
それと、
アンケート結果シート は上で提示したもの。

ユーザーフォーム上に
コンボボックスを配置して、リストは回答者シートとリンクさせます。

オプションボタンはフレーム内に配置します。
GroupNameプロパティでグループ化してもいいが、
フレーム内に配置すれば自動でグループ化されるし、
見た目もグループ化されていることが分かり安い。

アンケート項目が多い場合は、マルチページを使って、
分割するのもいいでしょう。
フレーム内にオプションボタンを配置して、
「次へ」ボタンで次ページへ移動する。
選択肢によっては回答不要のページはとばして移動する。
最後のページには「登録」ボタンを配置して、
そのクリックでアンケート結果シートに回答結果を追加する。

こんな感じかな。

投稿2019/02/13 02:45

編集2019/02/13 05:49
hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pxpxp

2019/02/13 03:25

早速のご回答ありがとうございます! 〇コピーごとにグループ名を変えるとなると、  ご指摘いただいた通り、100人分×1シート20問分なので、  ちょっと現実的ではないなぁ・・と思っていました。 〇activeXのコピーはくし刺しではないのですね!!  確かに、上記の通り手入力でグループ再設定するとできるのに、と思って いました。 そして追記についてですが、 そうなんです、おっしゃる通り、管理も大変だし、 データも重たくなりそうだし、最終的には表の形にしたいので、 アドバイス頂いた形はベストだと気付きました!! さっそく取り組んでみたいと思います。 初心者故、どこから手をつけたらいいか…というレベルですが 丁寧なアドバイスを参考にいろいろ調べてみたいと思います。 ありがとうございました。
pxpxp

2019/02/13 06:47

追記2について、具体的にアドバイスをありがとうございます! さっそくご教授いただいた方法を検討したのですが、 実はこのアンケート、今まで手書きで記入してもらい、PCへ入力していたので、 その時と同様にツリー型(というのでしょうか…)を残してほしいという 話になりました。 (見た目が変わると、今までと感覚が変わって、質問に対する答えに変化が出てしまう可能性があるので…) となると、ユーザーフォームでは難しそうです。(そんなことないのでしょうか) なので、「一枚のシートに入力」と「まとめシートに格納」をヒントに、 activeXのコントロールで再チャレンジしてみようと思います。 (はじめてユーザーフォームを触ってみましたが、 他の場面で活用できることがあるので、さっそくそっちに取り入れます。 ご回答いただいたおかげです、ありがとうございます!)
hatena19

2019/02/13 07:28

シートの方が表現力が高いのでそれもありだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問