こんにちは。
今回、WindowsXP SP2上のExcel2003 VBAを使ってツールを作成しているのですが、
以下のようなエラーが出て手が止まっています。
「コンパイル エラー:
パブリック オブジェクト モジュールで定義されたユーザ定義型に限り、変数に割り当てることができ、実行時バインディングの関数に渡すことができます。」
というものです。
具体的な環境としまして、
標準モジュールにDefineTypeというモジュールを作成し、
Public Type Record
ID As Integer
Name As String
End Type
を定義しています。
これをクラスモジュールに作成したCClassから以下のように参照しています。
Private Detail As New Collection 'of Record
Private Sub Sub1()
Dim rec As Record
rec.ID = 3
rec.Name = "おなまえ"
Detail.Add rec
~~~~~~~~~~~~~~
End Sub
Public Sub CallSub1()
Call Sub1
End Sub
そして、このクラスの中のPublicな関数であるCallSub1を
フォームモジュールから呼び出しているのですが、
Sub1 の Detail.Add がだめなようです。
・このエラーの意味
・どこがどうだめなのか
・どうすれば解決できるか
を、糸口でも構いませんのでご教授下さい。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
エクセルVBA クラスモジュール内でパブリックユーザ定義型
Visual Basic(VBA)
-
-
4
VBで構造体の配列を関数に渡す方法?
Visual Basic(VBA)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
戻り値がクラスオブジェクト
Visual Basic(VBA)
-
7
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
VBA public変数はどのようなことをしたら解放されますか?
Visual Basic(VBA)
-
10
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
11
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
12
Excelの入力規則で2列表示したい
Excel(エクセル)
-
13
VBで引数にDictionaryオブジェクトを使用する方法
Visual Basic(VBA)
-
14
FriendとPublicの違い。。。
Visual Basic(VBA)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
EXCELのコンボボックス 配置の縦位置の変更はどうすれば?
Windows Vista・XP
-
17
配列の参照渡しで型が一致しません。
Visual Basic(VBA)
-
18
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
19
OnTime 使用時のプロシージャへの引数の与え方、その記述方法を教えて下さい。
Visual Basic(VBA)
-
20
エクセルVBA 文字列領域が不足しています
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シャープ製品JH-WB1821 と BCG...
-
VBAで別モジュールへの変数の受...
-
SendKeysの使い方について
-
ユーザーフォームに最小化・最...
-
ArduinoのジャイロモジュールMP...
-
Excel VBA 定義されたプロージ...
-
Application.OnKey:項目入力中...
-
VBAで旧字体を異字体に一括で変...
-
Form間の値の渡し方
-
グラフのX,Y座標を取得したい
-
一太郎9でふりがなが設定できな...
-
関数が使えない
-
VBのフォームモジュールと標準...
-
vba userFormのSubを標準モジュ...
-
PC2-3200(DDR2 SDRAM)搭載機にP...
-
Excel VBAでリンク切れをチェッ...
-
非表示モジュールコンパイルエ...
-
エクセルVBAで標準モジュー...
-
太陽光発電のモジュールの寿命
-
モジュールとクラスの違いって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
エクセルVBAでシートモジュール...
-
Excel VBA 『Call』で呼び出す...
-
モジュールとは何ですか
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
-
グラフのX,Y座標を取得したい
-
VBAで旧字体を異字体に一括で変...
-
モジュールの最大数はいくつな...
-
【vba】フォームに書いてあ...
-
Excel VBAで、ユーザーフォーム...
-
Form間の値の渡し方
-
モジュールとクラスの違いって...
-
Access VBA標準モジュールにつ...
-
本当にPublicな変数(配列で)
-
標準モジュールを削除したい。(...
おすすめ情報