H2. VBA の関数でマクロ作成

使用するファイル:「マクロの練習」フォルダー「いちばんやさしいExcelVBA .xlsm」

ここで取り上げる VBA 関数です。

H2-1. 数値の整数部分を返す Int 関数

VBA の関数 Int の動きを見てみる。

 

Int 関数は:

Int(2.5)

のように記述される

 

関数 Int は、引数(ひきすう)に少数を含む数値を指定した場合、整数部部分が返される

 

上の式では戻り値「2」が返される。

 

H2-1-1. Int 関数を使ったマクロを作成する

  1. 「いちばんやさしいExcelVBA.xlsm」を開き VBE を起動する
  1.  「Sub 関数を使ったマクロ」とのマクロ名でプロシージャを作る

Int 関数の引数には数値だけでなく、式を指定したり、セルの値を指定るることもある。それらを使ったマクロです。

(g10) 関数を使ったマクロを作る
(g10) 関数を使ったマクロを作る
  1.  Sub プロシージャを実行する
(g11) サブプロシージャを実行する
(g11) サブプロシージャを実行する

H2-2. Date 関数を使ったマクロを作成する

H2-2-1. Date 関数

VBA で今日の日付を取得するには、「Date」という名前の関数を使います。

 

Range("D1").Value = Date」というコードを実行すると、D1 セルに今日の日付が入力される。

 

一方、Excel のワークシートでは、今日の日付を取得するには TODAY 関数を使いますが、VBA では使えません、

 

H2-2-2. Date 関数を使ってみる

  1.  Sub プロシージャを編集する
(g12) Date 関数を使って Sub プロシージャを編集する
(g12) Date 関数を使って Sub プロシージャを編集する
  1.  Sub プロシージャを実行する
(g13) プロシージャを実行し、今日の日付データがD1セルに代入されたことを確認する
(g13) プロシージャを実行し、今日の日付データがD1セルに代入されたことを確認する

H2-3. InputBox 関数と MsgBox 関数

H2-3-1. 入力ボックスとメッセージボックス

  •  InputBox 関数

InputBox 関数は、簡単な入力ボックスであるインプットボックスを表示して、入力された文字列を戻り値として返す関数。

 

Range("D2").Value = InputBox("何か入力してください。")」 というコードを実行すると、「何か入力してください。」と表示されたインプットボックスが表示される。

 

インプットボックスで「abc」と入力して「OK」をクリックすると、「abc」が D2 セルに入力される。

  •  MsgBox 関数

MsgBox 関数はメッセージを表示して、クリックされたボタンの数値を返す関数です。ただし、メッセージだけを表示して、戻り値を利用しないという使い方も良く行われる。

 

MsgBox の例:

MsgBox "マクロを実行しました。"」というコードが実行されると「マクロを実行しました。」というメッセージボックスが表示される。

 

H2-3-2. InputBox 関数と MsgBox 関数を使ってみる

  1.  Sub プロシージャを編集する

① 開いていない場合は、「いちばんやさしいExcelVBA.xlsm」を開いて

② VBE を起動する。

③ コードエリアで「関数を使ったマクロ」サブプロシージャにカーソルを置き、

④ InputBox と MsgBox を使ってコードを追加する。

(g14) InputBox、MsgBox 関数でマクロを作成
(g14) InputBox、MsgBox 関数でマクロを作成
  1.  Sub プロシージャを実行する
(g15) Sub プロシージャを実行する
(g15) Sub プロシージャを実行する
  1.  インプットボックスに文字を入力する
(g17) インプットボックスが表示される。「abc」と入力し「OK」をクリックする
(g17) インプットボックスが表示される。「abc」と入力し「OK」をクリックする
  1.  関数の結果が表示される
(g18) インプットボックスで入力した文字が D2 セルで表示される。メッセージボックスが表示される。
(g18) インプットボックスで入力した文字が D2 セルで表示される。メッセージボックスが表示される。

H-2-4. エラーの対処方法

マクロ作成時には気づかなかったエラーが実行時に発生することもある。

  1.  「実行時エラー」発生した時
(g29)「実行時エラー」発生
(g29)「実行時エラー」発生
  1.  「リセット」してから、間違っている箇所を修正する
(g30)「実行時エラー」の対処方法
(g30)「実行時エラー」の対処方法