pickup

目次

ワークシート関数はVBAで実行できるのか?

こんにちは。伊川(@naonaoke)です。

前回紹介しましたCOUNTIF関数は、VBAでも実行できます。


すごく難しいように思いますが、それほど難しくありません。

問題提起

 

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は新人研修中です。新人から、下記のような質問がありました。

・COUNTIFは、VBAで、実行できるのでしょうか?

柄久 瀬瑠子(エク セルコ)は、VBAはあまり理解していません。

どのように、新人に説明したらいいだろうか?

解決策

回答
sesuo2.jpg
・WorkSheetFunctionを使うことで、VBAでも使用できる関数がある。

 

WorkSheetFunctionとは

以前、このブログで、Functionプロシージャを紹介しました。

Functionは、関数という意味です。

直訳すると、ワークシートの関数なので、Excelは、ワークシート関数をVBAで利用するには、WorkSheetFunctionとあらかじめ宣言してねと決めました。

WorkSheetFunctionは、メチャクチャ便利です。

COUNTIF VBAバージョン作成 その1 対象のデータベースを確認


上の図で、同一人物を何人いるかカウントします。

COUNTIF VBAバージョン作成 その2 実際のコードを記載する


集計関数系をVBAで実行するには、「A列の始めから、最後まで」というような範囲を指定できるスキルが必要となります。


「A列の始めから、最後まで」の記載の方法は、上の記事を読んでください。

COUNTIF VBAバージョン作成 その3 実行ボタンを作成して装飾をする


上の図のようなボタンを作成すると、第三者が使うときに便利です。


「COUNTIF実行」に上の図のコードを記載します。

「クリア実行」に上の図のコードを記載します。


実行すると上の図のようになります。

ここがポイント

 

ここがポイント
Function8.png
VBAを勉強するときにですが、WorkSheet関数をVBAで再現できるのかという事を考えると、非常に良い訓練になります。そして、VBAとWorkSheet関数の一長一短に気づきます。その気づきが重要なのです。

 

スポンサーリンク

まとめ

今回のまとめ
sesuko3.jpg
なんとか新人の質問に答えることができました。そして、VBAにも少しずつ興味を持ち始めた、柄久 瀬瑠子(エク セルコ)なのでした。

 

今回のサンプルファイルは、No55です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事