|
▼ichinose さん:
先ほどはありがとうございます。
ichinoseさんより教えて頂いたコードを元にあれこれ悪戦苦闘しています。
↓
>ユーザーに投入位置を特定させた後,その位置に基づいてフォームから
>シートへデータを投入する為の記述をしました。
>この後,延々と続く(34×5行=170行=170セット)のですが
>これではプロシージャが大きすぎて処理出来ません。
↓
>これは、OptionButton1〜OptionButton5まであるということですか?
↓
私目の表現方法が悪かったですね。OptionButtonは1〜5までありますが
そのほかにTextBox(29)があり、そのTextBoxの値との組み合わせによりセル
位置を特定しています。
TextBox29.Value="1"に対して1〜5(行は、9,10,11,12,13を指定)
TextBox29.Value="2"に対して1〜5(行は、14,15,16,17,18を指定)
TextBox29.Value="3"に対して1〜5(行は、19,20,21,22,23を指定)
・
・
・
つまり、こんな感じの表構成になっています。
A B C D E
8 | | | | | |
----------------------------------------------
9 | | | | | | →A系列データ
| |--------------------------------------
10 | | | | | | →B系列データ
| |--------------------------------------
11 | 1 | | | | | →C系列データ
| |--------------------------------------
12 | | | | | |
| |--------------------------------------
13 | | | | | |
----------------------------------------------
14 | | | | | |
| |--------------------------------------
15 | | | | | |
| |--------------------------------------
16 | 2 | | | | |
| |--------------------------------------
17 | | | | | |
| |--------------------------------------
18 | | | | | |
----------------------------------------------
19 | | | | | |
TextBoxで列Aの5行単位(1〜34)のセルを、
OptionButton1でその5行単位内の順番を、
それぞれ特定するようにしています。
ご提示頂いたコードは下記のような意味かと考えますが、
↓
Dim o_rw As Variant →変数の配列(名称)を宣言し、
o_rw = Array(9, 10, 11, 12, 13) →内容を列挙(リスト)
Dim idx As Long →?
For idx = 1 To 5 →インデックスの有効範囲?
If Controls("OptionButton" & idx).Value = True Then
Exit For
→OptionButtonとインデックス値を取得後
Next idx
If TextBox29.Value = "1" And idx < 6 Then
Call set_form_data(o_rw(idx - 1))
→TextBox29の値が1であればset_form_dataを呼び出し実行する。
私のレベルではこの程度の解釈しか出来ず....
どうでしょう....
|
|