VB6の初心者です。ごく初歩的な問題でお恥ずかしいのですが困っています。
標準モジュール内にある以下のサブルーチンを行わせるために、
Sub Transform(NumSamples As Long, RealIn() As Double, ImageIn() As Double, RealOut() As Double, ImagOut() As Double, Optional InverseTransform As Boolean = False)
(NumSamples、RealIn()、ImageIn()は入力値)
(RealOut()、ImagOut()は戻り値)
...
...
End Sub
フォームモジュール内で以下のようにコールすると、
Private Sub cmdStart_Click()
Dim A as Long
Dim B(10000) as Double
Dim C(10000) as Double
Dim D(10000) as Double
Dim E(10000) as Double
...
(A,B,Cに数値入力)
...
Call Transform(A, B(), C(), D(), E(), False)
End Sub
で実行すると、変数D()に対して「コンパイルエラー:型が一致しません:配列またはユーザ定義型を指定してください」が出ます。なお、配列は10000まで宣言していますが実際には0~4096を使っています。
変数型は合わせているはずなのになぜエラーになるのでしょうか。D(),E()の型宣言をPublicにして標準モジュール内に入れたり、いろいろやってみたつもりですがうまくいきません。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
回答ではないのですが、
試しにVB6 SP4で下記のコードを書いて実行してみましたが、正常に動作しました。
このソースでも同じエラーが出ますか?
もしエラーにならなければ、宣言の方法や構造以外の問題だと思います。
== Form1のcmdStartボタンイベント ============-
Private Sub cmdStart_Click()
Dim A As Long
Dim B(10000) As Double
Dim C(10000) As Double
Dim D(10000) As Double
Dim E(10000) As Double
A = 4096
For i = 0 To (A - 1)
B(i) = i
C(i) = i
Next
Call Transform(A, B(), C(), D(), E(), False)
For i = 0 To (A - 1)
Debug.Print D(i)
Debug.Print E(i)
Next
End Sub
==============================================
== Module1のTransform()関数 ==================
Sub Transform( _
NumSamples As Long, _
RealIn() As Double, ImageIn() As Double, _
RealOut() As Double, ImagOut() As Double, _
Optional InverseTransform As Boolean = False)
For i = 0 To (NumSamples - 1)
RealOut(i) = RealIn(i)
ImagOut(i) = ImageIn(i)
Next
End Sub
==============================================
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
マクロについて教えてください...
-
VBAでのエラー
-
VBAで、定数式が必要ですのエラ...
-
Outlook.ApplicationをCreateOb...
-
【Excel VBA】マクロをボタンに...
-
ACCESS2000VBAでエラー「型が一...
-
Exce2007でBorder クラスの Lin...
-
Invalid procedure call or arg...
-
「実行時エラー3001」のポップ...
-
Access:結果は出るがエラー
-
[Delphi] データセットは閉じて...
-
【エクセル】ハイパーリンク先...
-
VBA エラーと対策
-
クラシックASPでのエラー処理に...
-
ExcelVBAでのエラー回避
-
C言語のコーディングチェックリ...
-
ExcelVBA Unicodeの置換・・・
-
トランスポートレベルのエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報