Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47224 / 76738 ←次へ | 前へ→

【34475】Re:返り値が複数のユーザーファンクション
発言  inoue E-MAILWEB  - 06/2/3(金) 13:11 -

引用なし
パスワード
   >複数の値を返り値に持つようなユーザーファンクション
変数としては1つですが、配列を返すことができます。
' 呼び出す処理
Sub TEST()
  Dim vntRet As Variant, IX As Integer
  vntRet = fncTEST(7) ' ここで呼ぶ
  If IsArray(vntRet) Then
    IX = 0
    Do While IX <= UBound(vntRet)
      Debug.Print vntRet(IX)
      IX = IX + 1
    Loop
  End If
End Sub

' 配列を返す関数(処理は適当)
Function fncTEST(intCnt As Integer) As Variant
  Dim vntTbl() As String, IX As Integer, IX2 As Integer
  Dim vntVal As Variant
  vntVal = Array("A", "B", "C")
  ReDim vntTbl(intCnt)
  IX = 0
  Do While IX <= intCnt
    IX2 = IX Mod 3
    vntTbl(IX) = vntVal(IX2)
    IX = IX + 1
  Loop
  fncTEST = vntTbl
End Function


あと、Functionにしなくても、
引数をByRefで必要数宣言しておいて、
呼び出された方が引数に値をセットさせて返す方法もあります。
0 hits

【34472】返り値が複数のユーザーファンクション sheboygan 06/2/3(金) 12:48 質問
【34475】Re:返り値が複数のユーザーファンクション inoue 06/2/3(金) 13:11 発言
【34545】Re:返り値が複数のユーザーファンクション sheboygan 06/2/6(月) 11:24 お礼
【34479】Re:返り値が複数のユーザーファンクション ichinose 06/2/3(金) 13:17 発言
【34546】Re:返り値が複数のユーザーファンクション sheboygan 06/2/6(月) 11:27 お礼
【34548】Re:返り値が複数のユーザーファンクション sheboygan 06/2/6(月) 13:43 質問
【34549】Re:返り値が複数のユーザーファンクション Blue 06/2/6(月) 14:15 発言
【34550】Re:返り値が複数のユーザーファンクション ごんぼほり 06/2/6(月) 14:28 回答
【34552】Re:返り値が複数のユーザーファンクション sheboygan 06/2/6(月) 15:16 お礼
【34482】Re:返り値が複数のユーザーファンクション Kein 06/2/3(金) 13:59 回答
【34547】Re:返り値が複数のユーザーファンクション sheboygan 06/2/6(月) 11:35 お礼

47224 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free