失礼いたしました。追記です。
sCnt()とtCnt()というそれぞれの配列を複数のプロシージャ内で使いたいのです。そこで、これらの配列を「Sub 配列決定()」というプロシージャ内で宣言し、要素を入れていき、他のプロシージャで活用する際にcallで呼び出しているのですが、どうも呼び出されていないようです。(エラーメッセージが出てしまいます。)
何が原因かわかりません。なにか、方法はありますか。よろしくお願いします。
vba
1Sub 小問カウント() 2 3ReDim sCnt(1 To Daimon) As Integer 4For i = 1 To Daimon 5 sCnt(i) = UF1.Controls("TextBox" & i).Text 6Next i 7ReDim tCnt(0 To Daimon) As Integer 8tCnt(0) = 0 9For i = 1 To Daimon 10 tCnt(i) = tCnt(i - 1) + UF1.Controls("TextBox" & i).Text 11Next i 12End Sub 13 14 15Sub 枠設定() 16 17For i = 1 To sCnt(1) 18 UF2.Controls("CheckBox" & i).Visible = True 19 UF2.Controls("TextBox" & i).Visible = True 20 UF2.Controls("TextBox" & i + 30).Visible = True 21 UF2.Controls("TextBox" & i + 60).Visible = True 22 UF2.Controls("Label" & i).Visible = True 23Next 24 25End Sub
上記のプロシージャはいずれも同じ標準モジュール内にコードしています。そして、これらをユーザーフォーム内のモジュールで活用したいんですがうまくいきません。下記がユーザーフォーム内のモジュールのコードです。(ちなみに、小問カウントと枠設定を分けている理由は小問カウントだけを活用する場面が多々あるためです。)
VBA
1Private Sub UserForm_Initialize() 2Bunshi = 2 3Me.Frame2.ScrollTop = 0 4Me.Label71.Caption = Bunshi & " / " & Daimon + 2 & " ページ" 5Me.Label31.Caption = "< " & sName & " >" 6 7Call 小問カウント 8Call 枠設定 9Me.TextBox1.SetFocus
出てくるエラーメッセージはsub 枠設定()内で「SubまたはFunctionが定義されていません。」というものです。
そのコードとエラーメッセージを提示しましょう
回答2件
あなたの回答
tips
プレビュー