|
▼ゴルゴン130 さん:
>こんにちは
>VBA勉強し始めたばかりなのですが、んんーぜんぜんだめです。
>自分なりに作ってみたのですが、これを作るのにもかなり時間がかかりました。。。
いや、これが一番の近道です。王道と私は思いますよ。^ ^
パパッと書いたのでエラー処理、数値判断などはしてませんが、
原型サンプルとしてはたぶん動作すると思います。(XL2000〜対応)
アドバイスですが、変数のスコープ(適用範囲)は、なるべく小さくした方が
いいですよ。この程度ならどうって事は無いですが、もう少し複雑になると
分けがわからなくなりますから。
その意味でもサンプルにして下さい。
Option Explicit
Private Sub CommandButton1_Click()
Dim lBuf(2) As Long
Dim goukei As Long
Dim I As Long
Dim Suuti As Variant
Suuti = Array(2, 4, 9)
'//////他にも応用が利く一般的な例///配列に1個ずつデータを入力する/////
For I = 0 To 2
lBuf(I) = Suuti(I)
Next I
goukei = test(lBuf)
Debug.Print goukei
'/////////////Array関数で作成した配列を渡す例//////////
goukei = test2(Suuti)
Debug.Print goukei
End Sub
'//////他にも応用が利く一般的な例////////
Public Function test(pData() As Long) As Long
Dim I As Long
Dim lAns As Long
For I = 0 To UBound(pData())
lAns = lAns + pData(I)
Next I
test = lAns
End Function
'/////////////Array関数で作成した配列を渡す例//////////
Public Function test2(pData As Variant) As Long
Dim I As Long
Dim lAns As Long
For I = 0 To UBound(pData)
lAns = lAns + pData(I)
Next I
test2 = lAns
End Function
ケースバイケースで使ってください。
|
|