• 締切済み

エクセルユーザーフォームで困ってます。

エクセル初心者です。 自分のユーザーフォーム(住所、商品登録)を作りたくて大変困ってます。 下記は、ネットなどをみて貼り付けたのですが、上手くいきません。 まずTOPページを作り、ユーザーフォームを呼び出すボタンを作り、クリックすると フォームが出るようにしてあります。 そこに、自分の入力したいものをユーザーフォームにテキストでつくり、シート9に 登録ボタンを作りクリックしたら、シートに反映させたいと思ってます。 登録ボタンを押したら、入力画面はクリアにしたいです。 他にいろいろやりたい事もあるのですが、入力した順番に001・002・003と顧客番号をつけたり 検索ボタンを作って、名前や、顧客番号を入れると情報を呼び出したり、請求書用のプリントシートや、封筒シートに簡単に反映できればと思っています。 しかし、まだまだそこまではいかず、最初でつまずいてます。 現状は、フォームを呼び出すときに実行時エラーがでます。 どうしても、自分の使い勝手のいいものを作りたいので どうか、助けてください。大変まいってます。 長文になりますが、どうかよろしくお願いします。 下記の入力中のものをみていただけて、いろいろ意見をいただけるとありがたいです。 Sub FormShow() UserForm1.Show End Sub 'Sheet9へ書き込む Private Sub 登録_Click() Dim i As Integer With Worksheets(9) 'テキストボックスの値を書き出し For i = 1 To 80 .Range("B" & i) = UserForm1.Controls("TextBox" & i).Text Next End With End Sub 'Formを呼び出したとき、Sheet9から読み込む Private Sub UserForm_Initialize() Dim i As Integer With Worksheets(9) 'テキストボックスの値を読み込み For i = 1 To 80 UserForm1.Controls("TextBox" & i).Text = .Range("B" & i) Next End With End Sub '終了ボタン Private Sub CommandButton2_Click() Unload Me End Sub

みんなの回答

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは コードのどこでエラーになりますか? Private Sub UserForm_Initialize() の中ですか?

sansiro39
質問者

補足

早速回答ありがとうございます。 すいません、以前は下記コードででていたんですが、いまは大丈夫に なりました。原因は解らないのですが Sub FormShow() UserForm1.Show ただ、これから下のコードを入力しても シートに反映されません。 ご迷惑でなければ、下記コードの間違っている箇所を 教えていただけないでしょうか。 よろしくお願いします。 End Sub 'Sheet9へ書き込む Private Sub 登録_Click() Dim i As Integer With Worksheets(9) 'テキストボックスの値を書き出し For i = 1 To 80 .Range("B" & i) = UserForm1.Controls("TextBox" & i).Text Next End With End Sub 'Formを呼び出したとき、Sheet9から読み込む Private Sub UserForm_Initialize() Dim i As Integer With Worksheets(9) 'オプションボタンの値を読み込み For i = 1 To 80 UserForm1.Controls("OptionButton" & i).Value = .Range("A" & i) Next 'テキストボックスの値を読み込み For i = 1 To 80 UserForm1.Controls("TextBox" & i).Text = .Range("B" & i) Next End With End Sub

関連するQ&A