電子書籍の厳選無料作品が豊富!

いつもお世話になります。
リスクエストを間違えましたのでもう一度質問します。
ユーザーフォームのテキストボックスを集計したいのですがうまくいきません。
エラー「コンパルイエラー sub またはFunctionが定義されていません」
 
Private ctrl(103 To 126) As New Class1 'ClassNP2 Initialize ←ここで定義してるのですが間違いですか?

Private Sub UserForm_Initialize()
Dim j As Integer
For j = 103 To 126
ctrl(j).setControl UserForm2.Controls("TextBox" & j)     ←ここのctrlがエラー
Next j
end sub

Public Sub ClassNP2()
Dim j As Integer
Dim totalNP2 As Integer
Dim val As String
For j = 103 To 126
val = UserForm2.Controls("TextBox" & j).Value
If val <> "" Then totalNP2 = Int(val) + totalNP2
Next j
UserForm2.TextBox9.Value = totalNP2
End Sub

-Class1モジュール
Private WithEvents Target As MSForms.TextBox
Public Sub setControl(tb As MSForms.TextBox)
Set Target = tb
End Sub

Private Sub Target_Change()
ClassNP2
End Sub

原因がわかりません。
宜しくお願い申し上げます。

A 回答 (1件)

こんにちは、


コードに問題を感じませんが、コンパイルエラーなら、、、

Private ctrl(103 To 104) As New Class1 'ClassNP2 Initialize 

これ、ちゃんとモジュールの初めに書いてありますか?
他のプロシージャの下ではダメですよ。
Option Explicitを使用しているなら、この下かな?
    • good
    • 0
この回答へのお礼

こんばんわ。
有難う御座います。
パニクッテました。
すみません助かりました。

お礼日時:2021/02/04 18:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報