Excel VBA質問箱 IV

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

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


7738 / 76734 ←次へ | 前へ→

【74581】ユーザー定義関数の引数を可変長引数にしたい。
質問  アラユタン  - 13/7/29(月) 16:54 -

引用なし
パスワード
   Excel2003を使用しています。

以下の、ユーザー定義関数の第二引数を可変長引数にしたいです。
例:=Sabutotal(109,A1,D1,G1....)のように使いたいです。

rngを配列にしてParamArray宣言する所まではわかるのですが、
動作しなくなります。

宜しくお願いします。


Public Function Sabutotal(cN As Integer, rng As Range)
Application.Volatile
Dim C As Range
Dim mA As Variant
ReDim mA(0)
If cN > 100 Then
  For Each C In rng
    If Not C.EntireColumn.Hidden And Not C.EntireRow.Hidden And _
    Not C.Formula Like "=Sabutotal(*" Then
      ReDim Preserve mA(UBound(mA) + 1)
      mA(UBound(mA)) = C.Value
    End If
  Next
Else
  For Each C In rng
    If Not C.Formula Like "=Sabutotal(*" Then
      ReDim Preserve mA(UBound(mA) + 1)
      mA(UBound(mA)) = C.Value
    End If
  Next
End If
Select Case cN
Case 1, 101: Sabutotal = Application.WorksheetFunction.Average(mA)
Case 2, 102: Sabutotal = Application.WorksheetFunction.Count(mA)
Case 3, 103: Sabutotal = Application.WorksheetFunction.CountA(mA)
Case 4, 104: Sabutotal = Application.WorksheetFunction.max(mA)
Case 5, 105: Sabutotal = Application.WorksheetFunction.min(mA)
Case 6, 106: Sabutotal = Application.WorksheetFunction.Product(mA)
Case 7, 107: Sabutotal = Application.WorksheetFunction.StDev(mA)
Case 8, 108: Sabutotal = Application.WorksheetFunction.StDevP(mA)
Case 9, 109: Sabutotal = Application.WorksheetFunction.Sum(mA)
Case 10, 110: Sabutotal = Application.WorksheetFunction.Var(mA)
Case 11, 111: Sabutotal = Application.WorksheetFunction.VarP(mA)
Case Else: Sabutotal = "種類がありません。"
End Select
End Function

5 hits

【74581】ユーザー定義関数の引数を可変長引数にしたい。 アラユタン 13/7/29(月) 16:54 質問
【74582】Re:ユーザー定義関数の引数を可変長引数に... γ 13/7/29(月) 21:52 発言
【74584】Re:ユーザー定義関数の引数を可変長引数に... アラユタン 13/7/30(火) 9:58 質問
【74585】Re:ユーザー定義関数の引数を可変長引数に... アラユタン 13/7/30(火) 11:39 お礼
【74586】Re:ユーザー定義関数の引数を可変長引数に... γ 13/7/30(火) 20:09 発言
【74587】Re:ユーザー定義関数の引数を可変長引数に... アラユタン 13/7/31(水) 8:54 発言
【74590】Re:ユーザー定義関数の引数を可変長引数に... γ 13/7/31(水) 20:56 発言

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