• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンパイルエラーSubまたはFunction定義)

VBAユーザーフォームのコンパイルエラー

このQ&Aのポイント
  • VBA初心者が作成したユーザーフォームでコンパイルエラーが発生しています。ボタンやスピン移動をクリックすると「コンパイルエラー SubまたはFunctionが定義されていません」というエラーメッセージが表示されます。
  • コードを見たところ、該当のエラーが発生している部分は「データ書き込み」サブルーチンでの「TBL」の部分です。
  • 「TBL」は初期化されていないため、エラーが生じています。TBLの宣言や初期化を行うことでエラーを解消することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

変数の使い方が間違っています。 変数は、それを定義したSubまたはFunctionの中でしか有効ではありません。 このプログラムで言えば、 Private Sub UserForm_Initialize() Dim TBL(1 To 9) As Control Dim データ範囲 As Range ・・・・ End Sub なので、TBLやデータ範囲の変数が使えるのは Sub UserForm_Initialize の中だけです。 どうしてもUserForm_Initializeの外で使いたいなら、 パブリック変数にする必要があります。

shinarika
質問者

お礼

ご丁寧にありがとうございました。

関連するQ&A