【VBAスタンダードに挑戦!】
本日の5分勉強の内容
********************************************************
ワークシート関数
・ワークシートで使用している関数をマクロでも使用できる
・WorksheetFunction. 関数名 (引数)
・引数はワークシートで使用するとき と同じように指定する
・記述方法は VBA のルールに従う
例) A1 (ワークシート) vs Range("A1") (VBA)
・ワークシート関数では呼び出せない関数もある
例えば、セルの中で使用する If 関数は、マクロでは使えない
(同じ書き方で使えない)
・使用できる関数はヘルプで確認するか、
WorksheetFunction. (ドッドまで)を記述すれば、
候補が表示されるので、そこで確認する
Large 関数
・指定した範囲の数値から、何番目に大きい数値を取り出す
・一番大きい数値であれば Max 関数が代用できる
・WorksheetFunction.Large(範囲, 順位)
Small 関数
・指定した範囲の数値から、何番目に小さい数値を取り出す
・一番小さい数値であれば Min 関数が代用できる
・WorksheetFunction.Small(範囲, 順位)
Range("F7") = WorksheetFunction.Large(Range("C2:C9"), Range("E7"))
Range("G7") = WorksheetFunction.Small(Range("C2:C9"), Range("E7"))
赤枠の範囲の中から、青枠の順位の金額を入力する
VLookup 関数
・指定した表の一番左の列から指定したデータを検索して、
見つかったデータと同じ行の、指定した列のデータを取り出す
・WorksheetFunction.VLookup(検索値, 検索範囲, 列番号, 検索方法)
Range("F2") = WorksheetFunction.VLookup(Range("E2"), Range("B2:C9"), 2, 0)
赤枠の表の一番左の列に青枠のデータが存在したら、
表の左から2列目のデータを入力する(見つかったデータと同じ行)
※データを上から順に検索して、最初に見つかったデータの値を取得するので、
一番左端のデータはユニークでなければ正しいデータを取得できない
ユニーク = Unique・・・唯一、一意、固有
********************************************************
Large/Small 関数は初めて知りました。
なかなか便利そうな関数ですね。
並べ替えの時に使えそうです。
VLOOKUP関数はとってもお世話になっております。
今の業務ではユニークな ID を使用しておらず、
ユニークなIDを作成するところからなので、ちょっと面倒です。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/