
VB6.0のプログラムで質問があるのですが
下のプログラムのように配列num、num1を関数AAAに
渡したいと思うのですがどうすればいいのでしょうか?
よろしくお願いいたします。
Option Explicit
Private num(10) As Integer
Private num1(10) As Integer
Private Sub Write_Click()
AAA(num)
AAA(num1)
End Sub
Private Function AAA(???)
Dim i As Integer
For i = 1 To 10
???(i) = i
Next i
End Function
No.6ベストアンサー
- 回答日時:
コードミスしてました申し訳ない
Option Explicit
Private num(10) As Integer
Private num1(10) As Integer
Private Sub Write_Click()
Call AAA(num)
Call AAA(num1)
End Sub
Private Function AAA(ByRef test() As Integer)
Dim i As Integer
For i = 1 To 10
test(i) = i
Next i
End Function
ですね!
ご回答ありがとうございます。
コードを書いてくださったので分かり易く
動作を確認することができました。
ByRefなどの使い方はしらなかったため
この後調べてみたいと思います。
okadajunさんありがとうございました。
No.5
- 回答日時:
単純に渡す方法が知りたいのですよね
でしたら、参照渡しですが
Option Explicit
Private num(10) As Integer
Private num1(10) As Integer
Private Sub Write_Click()
AAA(num)
AAA(num1)
End Sub
Private Function AAA(ByRef test() As Integer)
Dim i As Integer
For i = 1 To 10
test(i) = i
Next i
End Function
になりますが、注意点は
渡した先でデータを変更したら
元も変わるということです
No.4
- 回答日時:
オールプライベートですので、引数として渡す必要性が???です。
下記でどうでしょうか?
Option Explicit
Private num(10) As Integer
Private num1(10) As Integer
Private Sub Write_Click()
AAA
End Sub
Private Function AAA
Dim i As Integer
For i = 1 To 10
num(i) = i
num1(i) = i
Next i
End Function
kazu1973さんご回答ありがとうございます。
確かに私が挙げた例では必要性はないのですが
渡す方法がしりたかったため質問させていただきました。
誤解を招く例で申し訳ありませんでした。
No.3
- 回答日時:
OKWaveで別の質問を見ていて知ったのですが、VBAでバリアント型の変数に不定数の配列をガサッと入れて処理できるんですね。
http://pc.nikkeibp.co.jp/article/NPC/20070803/27 …
これを使うと楽そう。
はずしていたらスミマセン。
ご回答ありがとうございます。
便利な配列作成方法を教えていただきありがとうございます。
私も使いこなせるよう学んでいきたいと思います。
TYWalkerさんありがとうございました。
No.2
- 回答日時:
Private Sub Write_Click()
Dim num(9) As Integer
Dim num1(3) As Integer
AAA num()
AAA num1()
aa = num
For i = 0 To UBound(aa)
MsgBox num(i)
Next i
aa = num1
For i = 0 To UBound(aa)
MsgBox num1(i)
Next i
End Sub
Private Function AAA(ByRef ary1)
Dim i As Integer
For i = 0 To UBound(ary1)
ary1(i) = i
Next i
'For i = 0 To UBound(ary1)
' MsgBox ary1(i)
'Next i
End Function
でどうですか。
ご回答ありがとうございます。
コードを書いてくださったので分かり易く
動作を確認することができました。
imogasiさんありがとうございました。
No.1
- 回答日時:
こんにちは、エクセルのvbaで書いてみました。
たぶん、VB6にも、使えると思います。
Public Sub f()
Dim num(10) As Integer
Dim num1(10) As Integer
Call aaa(num)
Call aaa(num1)
Call show(num)
Call show(num1)
End Sub
Public Sub show(n() As Integer)
Dim i As Integer
Debug.Print "******************"
For i = LBound(n) To UBound(n)
Debug.Print n(i)
Next
End Sub
Public Sub aaa(n() As Integer)
Dim i As Integer
For i = LBound(n) To UBound(n)
n(i) = i
Next
End Sub
実行結果
f
******************
0
1
2
3
4
5
6
7
8
9
10
******************
0
1
2
3
4
5
6
7
8
9
10
応用すれば、簡単に出来ると思います。
ご回答ありがとうございます。
vbaでのコードでしたので配列の渡し方で
つまずいてしまいました。
ただvbaでコードを書くときには参考にしたいと
思います。
tom11さんありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6 配列を初期化したい
Visual Basic(VBA)
-
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
VB6で配列を引数にするときの2通りの方法について
Visual Basic(VBA)
-
-
4
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
5
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
6
VB6コントロール配列をパラメータとして渡す方法
Visual Basic(VBA)
-
7
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
8
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
9
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
10
VB6で呼び出し元の情報を取得する方法について
Visual Basic(VBA)
-
11
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
12
定数配列の書き方
Visual Basic(VBA)
-
13
Functionの戻り値を配列にしたいのですが
Visual Basic(VBA)
-
14
VBで構造体の配列を関数に渡す方法?
Visual Basic(VBA)
-
15
VB6.0 ファイルの一括読込み
Visual Basic(VBA)
-
16
VB6 String型変数の文字数制限
IT・エンジニアリング
-
17
16進数の変換処理
Visual Basic(VBA)
-
18
Visual Basic 6.0 のテキストボックスの最大容量について
Visual Basic(VBA)
-
19
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
20
VB6にて、テキストファイルの内容を更新したいのですが。。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を関数に渡す方法
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
行列をべき乗させるプログラム
-
SIGALRMでプロセス終了
-
getcの改行判定
-
「指定されたキャストは有効で...
-
Aの値からBの値を除するとは??
-
エクセルで可視セルにのみ値貼...
-
DWORDの実際の型は何でしょうか
-
C言語での引数の省略方法
-
「Aに対するBの割合」と「Aに対...
-
#define _CRT_SECURE_NO_WARNIN...
-
*をユーザーが入力した数字の数...
-
【C】fizzbuzzのトリッキーなコ...
-
エクセルの問題です。絶対値の...
-
変数の型を定義しなかった場合...
-
visualstudio C# テキストボッ...
-
C 開放してるのにエラー(doubl...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
getcの改行判定
-
C言語の二分法のプログラムにつ...
-
C言語 マスターマインドゲーム...
-
全角文字の判定
-
計算結果がlong型以上になる場...
-
while文を使った問題なのですが...
-
C言語初心者です。次の問題で質...
-
C言語 数字以外を入力させない...
-
初心者です。
-
C++での乱射ショットについて教...
-
if文
-
raspberrypiでロータリエンコーダ
-
C言語で電卓を作成する。
-
双方向リスト
-
入力した数値を0~3乗するプロ...
-
scanfが実行されません
おすすめ情報