• ベストアンサー

エクセルVBAのマクロ文について

エクセルVBAで、シート上のボタン(フォーム)をクリックすると、UserForm1が表示されてその中のTextBoxに別のシートのセルに入力したいる値を表示させたくて、以下のようにボタン(フォーム)にマクロを入力したのですが、エラーがでてきてうまくいきません。 入力したマクロが間違っているのでしょうか? Sub ボタン1_Click() UserForm1.Show UserForm1.TextBox1 = Sheets("入力").Ranges("D11").Value End Sub すみませんが、ご存知の方、教えてくださいませんか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 UserForm1.Show との順序。 Range オブジェクトには、複数形はありません。 D11 は、半角です。 UserForm1.TextBox1.Text = Sheets("入力").Range("D11").Value UserForm1.Show

oryaaaaa6
質問者

お礼

回答ありがとうございます。 Wendy02さんの回答のとおり、修正したらうまくいきました。 これからもよろしくお願いします。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

別案ですが Sub ボタン1_Click() UserForm1.Show End Sub だけにして userForm1のコード上に Private Sub UserForm_Initialize() TextBox1.Text = Sheets("入力").Range("D11").Value End Sub と記述してUserFormの初期値の設定など行うことが出来ます。

oryaaaaa6
質問者

お礼

そういった方法もあるんですね。 勉強になりました。 ありがとうございます。(^^)

関連するQ&A