teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記。コードの記載。

2021/02/28 11:37

投稿

m_m_0824
m_m_0824

スコア4

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