VBAでExcelぶっ叩く用事ができたんですよ。
んで、標準モジュールの中でPrivateな定数を宣言して、そいつを同モジュールのFunction内で使おうと思ったのね。
したら

「コンパイルエラー:変数が定義されていません」

って言われたのね。

ほぅと思って「vba 変数が定義されていません」でググった。
で、一番上に出てきたページがこれだったんだけど

マクロ言語の類で変数の宣言を強制する言語というのはありません! 変数宣言が必ず必要とされるのはプロ向けの高級言語だけです。

マクロ(VBAのプログラム)の場合には、高級言語とは違って予め変数の定義を しておかなくても勝手に(機械的に)判断をしてくれますので、特に変数の定義 というのは(上記の②の[変数の宣言を強制する]というオプションをわざわざ設定して おくという行為は)必要はありません

とかほざいててマジに戦慄した。

①「変数の宣言をしない」という精神でプログラムを組んだことがある人ならわかると思うが、最終的に可読性の低いウンコードになる。普通に数年プログラマやってたら変数の宣言をサボるなんて発想にならない。「人の好みによる」とかのレベルじゃない。基本中の基本だ。まして初心者に教える立場で「変数宣言しなくていいよー」とか言えるわけがない。

②変数の宣言をすると「難易度が高くなって」しまうとか言ってるけど、このページの情報を鵜呑みにしてマクロを組んだら、いずれもっと難易度が高くなる。しかも変数の宣言強制なんて全く難易度高くない。「知らない」と「難しい」を混同させている。

③「プロ向けの高級言語」とか言ってるけど、「高級言語」の意味を理解していない。アセンブラとか機械語じゃない時点で既に高級言語だし、変数宣言しなくてもいい言語はむしろ「より高級」であるとも言える。

④ページのタイトルが『「変数が定義されていません」エラーの対処方法』なんだけど、何も対処していない。トイレでウンコして、流さずにトイレットペーパー乗せまくるようなもの。

⑤メルマガやれるレベルじゃねーだろお前バカが

結論

まともな情報を伝えろ。
変数宣言について正しい情報が知りたい人はこのページらへんを根気強くみとけ。

P.S
俺がぶち当たった問題の原因について説明すると、つまり、あるFunctionの真上で定数を宣言していたんだけど、そのFunctionはもっと上の別のFunctionでコールされていた。それが原因だった。伝わるかな。
モジュールで使う定数は全部、一番上で宣言しておいたほうがいいね。把握は面倒になるが。
コンパイラが賢かったらフィールド定数の宣言位置なんて気にしなくてもいいのになぁ。

ついでに言うと、作ろうとしたものは「シートの(セル値の)アクセサ」クラスなんだけど、自分でひらめいたにしては頭の賢い発想じゃないかと思ってる。誰かほめて。