Excel VBA質問箱 IV

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

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


46 / 13189 ツリー ←次へ | 前へ→

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

【80019】Re:オプションボタンのコードの簡略化をし... よろずや 18/6/29(金) 6:39 回答[未読]
【80021】Re:オプションボタンのコードの簡略化をし... 703 18/6/29(金) 9:01 質問[未読]

【80019】Re:オプションボタンのコードの簡略化を...
回答  よろずや  - 18/6/29(金) 6:39 -

引用なし
パスワード
   ▼703 さん:
>色々なサイトを参考にし以下のようにコードを書いてみたのですが、
>プロシージャが大きすぎるエラーがでます。

240個のオプションボタンの規則性が判らないので、とりあえずプロシージャの分割のみの提案です。

>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
Call Q1_Proc
Call Q2_Proc
:
Call Q17_Proc
End Sub

Private Sub Q1_Proc()
>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
End Sub

Private Sub Q2_Proc()
>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

【80021】Re:オプションボタンのコードの簡略化を...
質問  703  - 18/6/29(金) 9:01 -

引用なし
パスワード
   よろずや さん
ご回答ありがとうございます。


提案頂いた通りに分割してみたところ、実行はできるのですが
ボタンクリック時に、毎回1番上の行のセルに入力されてしまいます。
投入範囲はボタンクリック毎に1つ下の行にずれているのですが、
どうすればよいでしょうか…


>240個のオプションボタンの規則性が判らないので、とりあえずプロシージャの分割のみの提案です。

質問が分かりづらくてすいません。
Q1-Q10は A1-A10まで、
Q11-Q17は A1-A20まで回答項目があります。

Q1だと フレーム1つの中にオプションボタンを10個配置しているイメージです。

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