仕事によって使う関数が違ってきます。VBAを使ってエクセルにない関数を作ることができます。VBAでエクセルの関数を使うことができますが、異なる関数もあります。ここでは勉強のためにエクセルの関数をVBAで書く練習をしてみましょう。(9,A4:A16)2はカウントの引数9は合計の引数VBAの場合はフォームを使って抽出を行います。フィルターの方が各項目を自由に選べて楽に見えますがパソコンに慣れていない方にとってみればフォームでチェックボックス等で選ぶ方が使いやすいと思います。(b)抽出フォームフォームを作る時は各オブジェクトに名前を付けないといけません。フォーム名をfrmTyusyutuとします。フォームが呼ばれた時に初期値を代入します。日付・金額とも最小値・最大値を条件文のついた繰り返しで取得します。次のプログラムを参考にしてフォームを作成してください。Sub(c)データの抽出3つの抽出条件(日付・費目・金額)の該当データを一気に取り出すことはできないことはないですが、例えばエクセルの3重IF文を考えてみてください。1つの条件づつシートに取り出してはまた次の作業シートに取り出す方法であればわかりやすいと思います。実行ボタンを押したときに抽出を行い最後に結果をもとの抽出箇所にコピーします。Sub(3)vlookup関数コード番号を入力すれば得意先シートの得意先名を検索して得意先名をコード番号の隣に表示します。・vlookup関数の場合vlookup関数を得意先名に作成します。VLOOKUP(A2,得意先!$A$1:$B$14,2)得意先シートは14行までデータが入力されているとします。1列目がコード番号2列目が得意先名が入力されています。得意先名のすべての行にコピーするために絶対座標$A$1:$B$14を使っています。コード番号が入力さえていないとエラーになりますので条件文をつけておきます。=IF(A2="","",VLOOKUP(A2,得意先!$A$1:$B$14,2))・VBAの場合ではVBAではどのようになるかということです。今回の場合はvlookup関数を使ったほうが楽です。VBAの特徴はシートに計算式を記入しませんので計算式を誤って消してしまうということがないぐらいです。勉強のために作っていきます。7行A列(cells(1,7))にコード番号8を入力しておきます。そこでエンターキーを押すと得意先名が表示すようにするためにはキーコード13を判断しますが今回は得意先検索ボタンをクリックしたときに得意先名が表示するようにします。今入力したセルをActiveCellで取得します。ボタンの付いている売上シートがアクティブですからシート名を省略できますがシート名をつけた方がわかりやすいかもわかりません。2)条件付き繰り返しが理解できておれば問題はないと思います。