マクロからワークシート関数を利用するには、WorksheetFunctionを使います。 次のコードは、セル範囲A1:A5をSUM関数で合計します。 Sub Sample1() Dim Result As Long Result = WorksheetFunction.Sum(Range("A1:A5")) MsgBox Result End Sub WorksheetFunctionは、ワークシート関数群をメンバーに持つコレクションですが、ワークシート上で使える関数をすべてVBAから使用できるわけではありません。 たとえば、VBAにも同じ働きをする関数がある場合、同名のワークシート関数は使用できません。 次のコードでは、Left関数がエラーになります。 Sub Sample2() MsgBox WorksheetFunction.Left("VBA", 1) End Sub また、中には
セル範囲を取得する セル範囲を表すRangeオブジェクトの取得には、通常はRangeプロパティやCellsプロパティを使用します。 もっと簡単に書きたい場合は、Evaluateメソッドのショートカットである角カッコ([ ])を使用するのが便利です。 このショートカットを使用する場合、セル範囲を表す文字列を「""」で囲む必要もありません。 [B2:E3].Interior.Color = vbBlue 実行前の状態。ここから、B2:E3のセル範囲の塗りつぶしの色を変更する。 B2:E3のセル範囲の塗りつぶしの色が青になった。 このページの先頭へ戻る 描画オブジェクトを取得する セル範囲を表すRangeオブジェクトだけでなく、図形を表すDrawingObjectオブジェクト(Shapeオブジェクトではないことに注意。なお、DrawingObjectオブジェクトというのは仮の呼び方で、Recta
ExcelVBAからワークシート関数呼び出し Excelの関数には、Visual Basic関数とワークシート関数の2種類があります。 ワークシート関数はワークシートのセル内に入力して使用できる関数で、 VB関数はVBA(マクロ)内で使用できる関数です。 同名の関数でも動作が全く違ったり、似ていても動作が微妙に違ったりします。 Ascはワークシート関数では全角文字列を半角に変換するが、VB関数では先頭一文字の文字コードを返す LenBはワークシート関数では半角文字を1バイト・全角文字を2バイトとしてバイト数を返すが、VB関数では半角文字も全角文字も2バイトとしてバイト数を返す。 VBA側から、ワークシート関数を呼び出すことができます。 Applicationのプロパティとして取得できるWorksheetFunctionオブジェクトが、VBAから呼び出せるワークシート関数を保持しています。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く