エラー内容
VBA実行時に、実行時エラー5「プロシージャの呼び出し、または引数が不正です。」と表示される。

原因と解決方法
1つの原因と、その解決方法が考えられます。
原因1. 関数の引数が範囲外
解説
関数の引数には、「数値」という条件以外に「0以上」など範囲が決まっている引数もあります。
その決まった範囲外の値を引数で指定すると、このエラーが発生します。
サンプルソースでは、Left関数の第2引数にマイナスを指定しているのが原因です。
Left関数の第2引数は、「左から何文字切り取るか」を指定するので、0以上の数値しか指定できません。
| 1 2 3 4 5 | Sub errRuntime5()     MsgBox Left("えくとしょエラー記事", -1) End Sub | 
解決方法
引数の値を、正しい範囲に修正します。
Left関数の場合は、第2引数を0以上の値に修正します。
| 1 2 3 4 5 | Sub errRuntime5()     MsgBox Left("えくとしょエラー記事", 5) End Sub | 

今回は直打ちの数値だから簡単にバグを発見できますが、変数の値や、計算結果を引数に使用している時などは、発見しにくいです。
まとめ
よく使う関数で、引数に範囲条件があるものを紹介します。
| 関数 | 引数の条件 | 
|---|---|
| Left関数 | 第2引数Length:0以上 | 
| Right関数 | 第2引数Length:0以上 | 
| Mid関数 | 第2引数Start:1以上 第3引数Length:0以上 | 
| DateAdd関数 | 第1引数Interval:日付の単位を表す文字のみ (「日付を表す文字一覧」を参照) | 
| DateDiff関数 | 第1引数Interval:日付の単位を表す文字のみ (「日付を表す文字一覧」を参照) | 
日付を表す文字一覧
| yyyy | 年 | 
| q | 四半期 | 
| m | 月 | 
| y | 年間通算日 | 
| d | 日 | 
| w | 週日 | 
| ww | 週 | 
| h | 時 | 
| n | 分 | 
| s | 秒 | 
 

 
      