Excel VBA質問箱 IV

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

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


10908 / 76734 ←次へ | 前へ→

【71369】Re:Functionで2つ以上の変数
発言  UO3  - 12/2/25(土) 13:24 -

引用なし
パスワード
   ▼AoYasu さん:

こんにちは

ichinoseさんから、代表的な方法である配列利用がご紹介されました。
私自信も、これをよく使います。もう1つも代表的な(?)方法であるユーザー定義構造体を使う方法と
もう1つ、これは、できるよ ということで、わかりにくくなるので、私自身は、なるべく使わないように
していますが、ByRef(省略すれば ByRefです)機能を使う方法です。

Test1 と GetProc1 の組み合わせが前者、Test2 と GetProc2 の組み合わせが後者です。

Option Explicit

Type RtnData   '名前は任意に
  ans1 As String
  ans2 As Long
  ans3 As Long
End Type

Sub Test1()
  Dim myAns As RtnData
  
  myAns = getProc1(Range("B5"))
  MsgBox myAns.ans1
  MsgBox myAns.ans2
  MsgBox myAns.ans3
  
End Sub


Function getProc1(target As Range) As RtnData
  getProc1.ans1 = target.Address
  getProc1.ans2 = target.Row
  getProc1.ans3 = target.Column
End Function

'======================================

Sub Test2()
  Dim ans1 As String
  Dim ans2 As Long
  Dim ans3 As Long
  
  Call GetProc2(Range("B5"), ans1, ans2, ans3)
  MsgBox ans1
  MsgBox ans2
  MsgBox ans3

End Sub

Sub GetProc2(target As Range, ans1 As String, ans2 As Long, ans3 As Long) 'Function仕立てでもよろしいのですが
  ans1 = target.Address
  ans2 = target.Row
  ans3 = target.Column
End Sub

6 hits

【71366】Functionで2つ以上の変数 AoYasu 12/2/25(土) 10:17 質問
【71368】Re:Functionで2つ以上の変数 ichinose 12/2/25(土) 11:56 発言
【71371】Re:Functionで2つ以上の変数 AoYasu 12/2/25(土) 14:50 お礼
【71369】Re:Functionで2つ以上の変数 UO3 12/2/25(土) 13:24 発言

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