ソーシャルメディア Excel 2016でVBAワークシート関数を使用する方法

Excel 2016でVBAワークシート関数を使用する方法

目次:

ビデオ: エクセル中級編:ワークシートの操作 2025

ビデオ: エクセル中級編:ワークシートの操作 2025
Anonim

VBAは、組み込み関数の種類が豊富に用意されていますが、必要なものを常に正確に見つけるとは限りません。幸いにも、VBAプロシージャでExcelのワークシート関数のほとんどを使用することもできます。使用できない唯一のワークシート関数は、同等のVBA関数を持つものです。たとえば、ExcelのRAND関数(乱数を生成する)を使用することはできません.VBAには同等の関数Rndがあるからです。

<! - 1 - >

VBAは、Excelのワークシート関数を、Applicationオブジェクトに含まれるWorksheetFunctionオブジェクトを通じて使用可能にします。次に、VBAステートメントでExcelのSUM関数を使用する方法の例を示します。

Total = Application。 WorksheetFunction。 SUM(範囲( "A1:A12"))

式のApplication部分またはWorksheetFunction部分を省略することができます。どちらの場合でも、VBAはあなたがしていることを把握します。言い換えれば、これらの3つの式はすべて同じように動作します。

<! - 2 - >
合計=アプリケーション。 WorksheetFunction。 SUM(範囲( "A1:A12"))合計= WorksheetFunction。 SUM(範囲( "A1:A12"))合計=アプリケーション。 SUM(範囲( "A1:A12"))

私の個人的な好みは、コードがExcel関数を使用していることを完全に明確にするためにWorksheetFunction部分を使用することです。

ワークシート関数の例

ここでは、VBA式でワークシート関数を使用する方法を説明します。

<! - 9 - >

範囲内の最大値の検索

VBAプロシージャでExcelのMAXワークシート関数を使用する方法を示す例を次に示します。このプロシージャは、アクティブなワークシートの列Aに最大値を表示します。

VBAコードでワークシート関数を使用する。
Sub ShowMax()Dim TheMax As Double TheMax = WorksheetFunction。 MIN(Range( "A:A"))MsgBox TheMax End Sub

MIN関数を使用すると、範囲内の最小値を取得できます。また、期待どおり、同様の方法で他のワークシート関数を使用することができます。たとえば、LARGE関数を使用して、範囲内の999番目の最大値を特定できます。次の式はこれを示しています: SecondHighest = WorksheetFunction。 LARGE(範囲( "A:A")、2) LARGE関数は2つの引数を使用することに注意してください。第2引数は、

k

番目のパート-2(この場合は2番目に大きい値)を表します。 モーゲージ支払いの計算 次の例では、PMTワークシート関数を使用してモーゲージ支払いを計算しています。 3つの変数は、引数としてPmt関数に渡されるデータを格納するために使用されます。計算された支払いがメッセージボックスに表示されます。

Sub PmtCalc()Dim IntRate Double Dim LoanAmt As Long IntRate = 0. 0625/12 Periods = 30 * 12 LoanAmt = 150000 MsgBox WorksheetFunction。 PMT(IntRate、Periods、-LoanAmt)End Sub

次の文が示すように、値を関数引数として直接挿入することもできます。

MsgBox WorksheetFunction。 PMT(0,0625 / 12,360、-150000)

しかし、変数を使用してパラメータを格納すると、必要に応じてコードを読みやすく変更することができます。

ルックアップ関数の使用

次の例では、VBAのInputBoxおよびMsgBox関数とExcelのVLOOKUP関数を使用しています。部品番号の入力を求め、ルックアップテーブルから価格を取得します。以下、範囲A1:B13はPriceListという名前です。

PriceListという名前の範囲には、部品の価格が含まれています。

Sub GetPrice()Dim PartNum As Variant Dim Price Double PartNum = InputBox( "部品番号を入力")シート( "価格")。 Price = WorksheetFunctionをアクティブ化します。

GetPriceプロシージャの仕組みは次のとおりです。
VBAのInputBox関数は、ユーザーに部品番号を問い合わせます。

ユーザーが入力する部品番号がPartNum変数に割り当てられます。

  • 次のステートメントは、アクティブシートでない場合に備えて、価格ワークシートをアクティブにします。

  • コードでは、VLOOKUP関数を使用してテーブルの部品番号を検索します。

  • このステートメントで使用する引数は、ワークシートの式で関数で使用する引数と同じであることに注意してください。このステートメントは、関数の結果をPrice変数に代入します。

  • コードは、MsgBox機能を使用して部品の価格を表示します。

  • このプロシージャにはエラー処理がありません。存在しない部品番号を入力すると悲惨に失敗します。 (試してみてください)これが実際のビジネスで使用されている実際のアプリケーションの場合は、エラーをより適切に処理するステートメントを追加することをお勧めします。

  • ワークシート関数の入力

Excelペースト関数ダイアログボックスを使用してワークシート関数をVBAモジュールに挿入することはできません。代わりに、そのような関数を昔ながらの方法で入力します。しかし、

は、[貼り付け]ダイアログボックスを使用して、使用する関数を識別し、その引数について調べることができます。

VBEの自動リストメンバオプションを利用することもできます。このオプションは、すべてのワークシート機能のドロップダウンリストを表示します。単に アプリケーションと入力します。 WorksheetFunction 、その後にピリオドが続きます。次に、使用できる機能のリストが表示されます。この機能が動作していない場合は、VBEの[ツール]→[オプション]コマンドを選択し、[エディタ]タブをクリックし、[自動リストメンバー]の横にチェックを入れます。

VBAコードで使用できるワークシート関数のリストを取得する。 ワークシート関数の使用の詳細 VBA入門者は、VBAの組み込み関数とExcelのワークブック関数をよく混同します。覚えておくべき良いルールは、VBAが車輪を再発明しようとしないことです。ほとんどの場合、VBAはExcelワークシートの機能を複製しません。

WorksheetFunctionオブジェクトのメソッドとして使用できないほとんどのワークシート関数では、同等のVBAビルトイン演算子または関数を使用できます。たとえば、VBAには、組み込みのMod演算子があるため、MODワークシート関数はWorksheetFunctionオブジェクトで使用できません。

結論?関数を使用する必要がある場合は、まずVBAにニーズに合ったものがあるかどうかを判断します。そうでない場合は、ワークシート機能をチェックしてください。他のすべてが失敗した場合は、VBAを使用してカスタム関数を記述することができます。

Excel 2016でVBAワークシート関数を使用する方法

エディタの選択

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

Objective-Cでは、作成していないクラスであっても、iOSアプリケーションの既存のクラスに独自のメソッドを追加できます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション...

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーションの開発では、Objective-Cを使用すると、自分が作成していないクラスであっても、既存のクラスに独自のメソッドを追加することができます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション(たとえば、...

In App Purchase機能がiPadアプリで動作する仕組み

In App Purchase機能がiPadアプリで動作する仕組み

Apple App App Purchase機能を提供します。これにより、アプリユーザーはアプリ内から仮想アイテムを直接購入することができます。複数のレベルや環境、または仮想プロパティを持つゲームアプリケーションを開発する場合は、アプリケーションにIn App Purchase機能を追加して、レベル、環境、またはプロパティをさらに販売することを検討してください。 App Purchaseで...

エディタの選択

効果的なホームビジネスWebサイトを作成する方法 - ダミー

効果的なホームビジネスWebサイトを作成する方法 - ダミー

素晴らしいかもしれませんが、製品やサービスをさらに販売するのに役立たない場合は、時間とお金の無駄です。自宅のビジネスにとって本物の資産であるWebサイトを構築するための、実証済みの方法をいくつか試してみましょう。難しいことではありません...

マスターCSSファイルを作成する方法 - ダミー

マスターCSSファイルを作成する方法 - ダミー

多くのデザイナーがマスターHTMLコードのCSSファイルを作成し、個々のサイトのニーズに合わせて、最初からウェブサイトを構築するプロセスをスピードアップします。あなたがより多くのウェブサイトを構築するにつれて、いくつかのスタイルは標準的なデザインプラクティスの標準的な部分になります。 ...

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

Bing検索結果と並んでクリック単価(PPC)広告はMSN adCenterを通じて提供されます。 adCenterを使用して、Webマーケティングのニーズに合わせてアカウントとキャンペーンを作成できます。 Microsoftは、Bing Travel、adCenter Desktopなどのプログラムを追加することで、PPCサービスのインターフェース、ツール、検索品質、およびボリュームを向上させるために歩み続けています。...

エディタの選択

地中海ダイエットレシピ:フルーツサラダ - ダミー

地中海ダイエットレシピ:フルーツサラダ - ダミー

果実は地中海で豊富に生育し、地中海沿岸に沿って、アメリカ人より一般的に果実を多く食べるため、地中海の高レベルの疾病予防に貢献しています。あなたの次の食事やパーティーのために健康的なサイドディッシュのフルーツサラダを作るには、いくつかの方法があります。果物は地中海で豊富に生育し、地中海沿岸に住む人々は一般にアメリカ人よりも多くの果実を食べるため、地中海の高レベルの疾病予防に寄与します。

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

ジャイロとピタサンドイッチは一般的なカジュアルな食品です地中海でピザや他の地中海のサンドイッチと同じように、今日はピタサンドイッチとジャイロのさまざまなバージョンが存在します。ピタスは蒸気で作られた中央のポーチ付きの丸いパンです。