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

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

目次:

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

ビデオ: エクセル中級編:ワークシートの操作 2024
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ワークシート関数を使用する方法

エディタの選択

保育検索中に背景チェックを行う - ダミー

保育検索中に背景チェックを行う - ダミー

他の在宅育児提供者またはあなたのお子様をご家族のお子様に配慮することを検討している場合は、参照チェックとバックグラウンドチェックをお勧めします。家族の託児所運営の場合は、自宅にいる他の大人の警察にも尋ねてください。あなたは...

離婚や離婚後の父親へのダミー - ダミー

離婚や離婚後の父親へのダミー - ダミー

分離と離婚は、多くの父親が子供たちから離れていることです。分離は、あなたの子供や子供のための偉大なお父さんと役割モデルになり続けるための障壁にはならないはずです。非居住の父親と居間の父親の責任にはほとんど違いがありません。あなた...

エディタの選択

デジタル写真のフラッシュパワーを調整する - ダミー

デジタル写真のフラッシュパワーを調整する - ダミー

フラッシュを使用すると、デジタルカメラは自動的にフラッシュを設定しますそれは必要と思われるものに応じた力。しかし、多くのカメラでは、フラッシュ露出補正、またはフラッシュEVと呼ばれる機能によって、フラッシュ光の強さを調整できます。

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定の選択。カメラのイメージセンサの光感度を示します。 ISO番号が高いほど、カメラはより迅速に光に反応します。 ISO感度を高く設定すると光の感度は上がりますが、画像にノイズが加わることもあります。この図は、4枚の画像を示しています。

エディタの選択

WEPの弱点 - ダミー

WEPの弱点 - ダミー

セキュリティ研究者は悪意のあるユーザーが無線LAN(ワイヤレスローカルエリアネットワークWEP(Wired Equivalent Privacy)を使用しています。これらは、たとえば以下のようなものです。トラフィックを復号化するパッシブ攻撃:統計分析に基づいています。

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

アプリケーションで何かできるようになる前にログインする必要があります。意外なことに、これらはハッカーの大きな助けになることがあります。これらのログイン・メカニズムは、誤ったユーザーIDまたはパスワードを正常に処理しないことがよくあります。攻撃者が有効なユーザーIDとパスワードを収集するために使用することができる情報を漏洩させることがよくあります。 To ...

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

自宅からオフィスネットワークに接続するほとんどの人本当にちょうど彼らの電子メールが必要です。オフィスネットワークにアクセスする唯一の理由が電子メールを受け取ることだけであれば、この簡単で簡単なツール、OWAとも呼ばれるOutlook Web Appを試してみてください。このMicrosoft Exchange Server機能は、あなたの会社の電子メールにアクセスすることができます...