ワークシート関数の呼び出し方
VBAからワークシート関数を呼び出すには、ApplicationオブジェクトのWorksheetFunctionプロパティを使う
Application.WorksheetFunction.ワークシート関数
Sub Sample01()
Range("E1") = Application.WorksheetFunction.Sum(Range("B2:B10"))
Range("E2") = Application.WorksheetFunction.CountA(Range("A2:A10"))
End Sub
ワークシート関数をセルに入力
A1形式の場合:Range(“A1”).Formula = “=数式”
R1C1形式の場合=Range(“A1”).FormulaR1C1 = “=数式”
Sub Sample02()
Range("E4").Formula = "=SUM(B2:B10)"
End Sub
ワークシート関数
Sum | 引数に指定された数値を全て合計(文字列等は無視) |
SumIf | 範囲の中で、指定した条件を満たすセルの値を合計 WorksheetFunction.SumIf(範囲,検索条件[,合計範囲]) |
SumIfs | 範囲の中で、指定した複数の条件を満たすセルの値を合計 WorksheetFunction.SumIfs(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …) |
Count | セル範囲に含まれる、数値が入っているのセルの個数 WorksheetFunction.Count(Range(セル範囲)) |
CountA | セル範囲に含まれる、空白ではないセルの個数 WorksheetFunction.CountA(Range(セル範囲)) |
CountBlank | 指定された範囲に含まれる空白セルの個数 WorksheetFunction.CountBlank(Range(セル範囲)) |
CountIf | 範囲の中で、指定した条件を満たすセルの個数 WorksheetFunction.CountIf(Range(セル範囲), 条件) 例:WorksheetFunction.CountIf(Range(“B2:B10”), “>=50”) |
CountIfs | 範囲の中で、指定した複数条件を満たすセルの個数 WorksheetFunction.Countifs(条件範囲1, 検索条件1, [条件範囲2, 検索条件2]…) |
DCount | リスト、DBの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数 WorksheetFunction.DCount(データベース, フィールド, 条件) ※ 見出しが必要 例:WorksheetFunction.DCount(Range(“A1:B10”), Range(“B1”), Range(“G1:G2”)) |
DCountA | リスト、DBの指定された列を検索し、条件を満たすレコードの中で空白でないセルの個数 |
DSum | リスト、DBの指定された列を検索し、条件を満たすレコードの合計 WorksheetFunction.DSum(データベース, フィールド, 条件) ※ 見出しが必要 例:WorksheetFunction.DSum(Range(“A1:B10”), Range(“B1”), Range(“H1:H2”)) |
Find | 指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その位置番号を返す(大小文字区別) WorksheetFunction.Find(検索文字列, 対象[, 開始位置]) 例:WorksheetFunction.Find(“-“, Range(“D7”)) |
Index | セル範囲から、指定された行と列が交差する位置 WorksheetFunction.Index(範囲, 行番号[, 列番号]) 例:WorksheetFunction.Index(Range(“A2:B10”), 2, 1) |
Match | セルの範囲内で指定された項目を検索し、相対的な位置を返す WorksheetFunction.Match(検索値, 検索範囲, 照合の型) ※検索範囲は1行または1列 ※照合の型 1:検索値以下の最大の値を検索 0:完全一致 (見つからない場合は#N/Aエラー、ワイルドカード利用可) -1:検索値以上の最小の値を検索 例:WorksheetFunction.Match(“a5”, Range(“A2:A10”), 0) |
IsErr | 対象が「#N/A」 を除くエラー値を参照するとき TRUE を返す WorksheetFunction.IsErr(対象セル) 例:WorksheetFunction.IsErr(Range(“B12”)) |
IsError | 対象が任意のエラー値 (#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? または #NULL! のいずれか) を参照するとき TRUEを返す WorksheetFunction.IsError(対象セル) |
IsNA | 対象がエラー値 #N/Aを参照するとき TRUEを返す |
IsText | 対象が文字列を参照するとき TRUEを返す |
IsNonText | 対象が文字列でない項目を参照するとき TRUEを返す |
IsNumber | 対象が数値を参照するとき TRUEを返す |
Text | 数値を書式設定した文字列に変換 |
VALUE | 数値を表す文字列を数値に変換 |
Transpose | 配列で指定された範囲のデータの行列変換を行う WorksheetFunction.Transpose(配列) 例:WorksheetFunction.Transpose(Range(“J1:R2”)) |
コメント