質問編集履歴

1

追記。コードの記載。

2021/02/28 11:37

投稿

m_m_0824
m_m_0824

スコア4

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