Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2359 / 76734 ←次へ | 前へ→

【80018】オプションボタンのコードの簡略化をしたいです。
質問  703  - 18/6/29(金) 0:43 -

引用なし
パスワード
   お世話になります。
マクロを勉強中の初心者です。
アンケートの集計フォームをつくっています。
アンケートの設問がQ1~Q17まであり、各設問に答えがA1~A10またはA1~A20ほどあります。

240個のオプションボタンがあり、チェックがついたら、そのオプションボタンに対応したセルの値を、別のシートのセルに投入していく(積上げていく)作業を繰り返し行いたいです。

色々なサイトを参考にし以下のようにコードを書いてみたのですが、プロシージャが大きすぎるエラーがでます。
どうすればシンプルなコードになるでしょうか。for next構文など、調べているのですが、なかなかうまくいかず、シンプルにしたコードを教えて頂きたいです。

以下 コードです。
Private Sub CommandButton1_Click()

Dim a As Integer
a = Worksheets("シートA").Range("投入範囲").Rows.Count
Worksheets("シートA").Range("投入範囲").Rows(a).Insert Shift:=xlDown
Worksheets("シートA").Range("投入範囲").Cells(a, 1).Value = TextBox1

If Frame1.OptionButton1.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 2).Value = Worksheets("アンケート項目").Cells(3, 2)
ElseIf Frame1.OptionButton2.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 2).Value = Worksheets("アンケート項目").Cells(4, 2)

…これが続いて

ElseIf Frame1.OptionButton10.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 2).Value = Worksheets("アンケート項目").Cells(12, 2)

Else
End If

…設問がQ1からQ2に変わります

If Frame2.OptionButton11.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 3).Value = Worksheets("アンケート項目").Cells(3, 3)
ElseIf Frame2.OptionButton12.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 3).Value = Worksheets("アンケート項目").Cells(4, 3)

…と続き

ElseIf Frame17.OptionButton240.Value = True Then
Worksheets("シートA").Range("投入範囲").Cells(a, 18).Value = Worksheets("アンケート項目").Cells(22, 18)

End Sub
までで終わります。

どうすればシンプルにコード数を減らせるでしょうか。
ご教示頂ければ幸いです。
5 hits

【80018】オプションボタンのコードの簡略化をしたいです。 703 18/6/29(金) 0:43 質問[未読]
【80019】Re:オプションボタンのコードの簡略化をし... よろずや 18/6/29(金) 6:39 回答[未読]
【80021】Re:オプションボタンのコードの簡略化をし... 703 18/6/29(金) 9:01 質問[未読]
【80020】Re:オプションボタンのコードの簡略化をし... γ 18/6/29(金) 7:17 回答[未読]
【80022】Re:オプションボタンのコードの簡略化をし... 703 18/6/29(金) 9:07 質問[未読]
【80023】Re:オプションボタンのコードの簡略化をし... γ 18/6/29(金) 18:45 発言[未読]
【80027】Re:オプションボタンのコードの簡略化をし... 703 18/7/1(日) 11:25 お礼[未読]
【80024】Re:オプションボタンのコードの簡略化をし... hatena 18/6/30(土) 1:45 回答[未読]
【80025】Re:オプションボタンのコードの簡略化をし... hatena 18/6/30(土) 2:53 回答[未読]
【80026】Re:オプションボタンのコードの簡略化をし... 703 18/7/1(日) 11:23 お礼[未読]

2359 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free