たとえば、Excel 2010で作成したマクロをExcel 2002で実行すると、Date関数やMid関数などのいわゆる定番の関数でコンパイルエラーが発生することがあります。 Date関数はVBA(Visual Basic For Applications)ライブラリの中のメンバです。 「ライブラリが見つかりません。 エラー内容VBAコンパイル時に、「Sub または Function が定義されていません。」と表示される。原因と解決方法おもに次の3つの原因と解決方法が考えられます。(1)プロシージャが存在しない原因エラー内容そのままで、呼び出し先のプロシ Set addr1 = ActiveCell.Offset(-2, -2)でActiveCellをB2にするとエラーとなりますが、この場合の逃げ方を教えてください。(1)エラーとしない。(2)最も近い存在するアドレス(A1)を求める。宜しくお願いします。論理的に可能な値を ある選択範囲を基準として他の選択範囲を指定したい場合には Offset プロパティが利用できます。ここでは、Offset プロパティの使い方について説明します。 Offset プロパティの使い方 Of… vbaのコンパイルエラー 上図は、文字列型(String)の変数に、Setステートメントを使って、オブジェクト(ここではWorksheetオブジェクト)を格納しようとしています。 Offsetとは、「差し引きする」意味ですが、 Offsetプロパティで取得されるのは、元のRange範囲を、指定した行数・列数移動したRange範囲になります。 Offsetは、マクロVBAでは習得必須のRangeのプロパティになります。