Python in Excelで変数を使用するにあたっての注意点を簡潔にまとめます。
Python in Excelの導入については以下の記事。
初心者向けPython:Excel作業を自動化したい人のためのPython in Excel – Lean Data Office
変数を呼び出せる範囲

この例では、sという変数に”Some string variable”という文字列を割り当てています。
この変数は下でハイライトしたセルで使用することができません。

これはExcelが変数を呼ぶのはその変数が定義されたセルの後、つまり、そのセルの上の行、もしくは左の列で使用できなくしているからです。
試しに、黄色ハイライト部分でこの変数を呼び出してみます。


左、上側では変数sを呼び出せません。

エラー詳細を見ると、変数sが定義されていないことが説明されています。
しかし、sを定義したあと、つまりセル右側、セル下側では問題なくこの変数を呼び出せます。


変数の再定義
変数は当然Pythonでは再定義が可能で、Python in Excelでも同様です。
下の例では変数sをセルB7で再定義しています。

変数sで定義した”Some string variable”を呼び出すことができるセルは、緑でハイライトした範囲です。

B7で再定義された’200’は、B7以降のセルで参照できます。


変数の定義方法
一つのワークシート内で、何度も一つの変数の再定義を行うと、変数を呼び出すタイミング(セルの位置)によって、期待している結果を得られないということが起こりえます。
よって定義を、A1セルで実施したり、別のシートを変数の定義用に準備する方法もエラーを起こさないために有効です。

上の例では”Init”シートを作成し、そのファイル内でsを定義しています。(このInitシートは変数を呼び出すシートより左側に位置付けてください。)
シート作成後に元のファイルに戻ると、もともと変数sが定義されていないという理由でエラーになっていたセルが、Initで定義された値に置き換わっていることがわかります。

まとめ
変数を扱う場合は呼び出しができるセルを意識して実行するように注意が必要です。
シートでの定義であったり、A1セルでの定義によって、呼び出すセルによってエラーを起こしたり、期待する変数が使用できていないということがないよう気を付けて実行しましょう。