• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル ユーザーフォーム 変数の定義)

Excelユーザーフォームで変数の定義

このQ&Aのポイント
  • Excelでユーザーフォームを作成しました。郵便番号を入れると住所を表示するテキストボックスがありますが、実行すると「変数を定義してください」とエラーメッセージが表示されます。
  • ネットで検索し、マクロを使用してきましたが、変数の使用は初めてでわからないことばかりです。どなたか教えていただけないでしょうか?
  • 問題のコードはプライベートサブのcmdTouroku_Click()です。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問のどのコードでエラーが出たか書くべきと思います。 そのところの変数(右辺の名称)が間違っていると思う。 ーー 質問のコードの書きは、ぎこちない。 Selectは省ける。 質問の件に答えるのは興味が無いが、普通の書き方を 参考までに書いておくから勉強して。質問のコードでは今後進歩が無い。 B列の最後の行にデータを書き込むのだろう。 そして項目に従って、すべて同行の右となり列に移動して、値を代入して行くのでしょう。 ーー、 ユーザーフォームにテキストボックスを3つ、コマンドボタンを1つ貼り付ける。 テキストボックスは名前、住所出府県+市、町アザ+番地を入れるものとする コマンドボタンのクリックは Private Sub CommandButton1_Click() Set x = Range("B65536").End(xlUp) i = 0 x.Offset(1, i) = TextBox1.Text i = i + 1 ' i=2でも良い。以下同様 x.Offset(1, i) = TextBox2.Text i = i + 1 x.Offset(1, i) = TextBox3.Text TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" End Sub ほかに各テキストボックスで毎回ひらがなモードにするのは面倒なので(1つだけ追加アドバイス) Private Sub UserForm_Initialize() TextBox1.IMEMode = fmIMEModeHiragana TextBox2.IMEMode = fmIMEModeHiragana TextBox3.IMEMode = fmIMEModeHiragana End Sub を入れておく。 これでユーザーフォームのテキストボックスにデータを入れてEnter。3項目入れ終わった後にコマンドボタンを押してテストしてみて。 住所から郵便番号を咲くインするのは高等技術なのであきらめエクセルの仕組みで後刻まとめて振る。 また何回も同じようなコードを書く部分の改良は、少し進んだことになるので、VBAの学習が相当進むまでお預け。

axizaft2000
質問者

お礼

imogasiさん、回答ありがとうございます。 変数はずっと手を出せずにいましてさっぱりです。 ですが今後より理解を深めていくためには避けては通れないですよね。 imogasiさんが書いて下さったコードを参考にして、 この機会に1から勉強しなおしてみます。 ありがとうございました。 一応問題のエラーは対処できました。

関連するQ&A