• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーフォームをWorkSheet(1)に固定)

VBA初心者のためのユーザーフォームを使用したデータベース入力方法

このQ&Aのポイント
  • ユーザーフォームを使ってExcelのデータベースにデータを入力する方法について質問です。現在、ComboBox1、ComboBox2、ComboBox3を選択すると、ユーザーフォームが異なるシートに飛んでしまいます。そのため、手作業で元のシートに戻る必要があります。これを回避するためには、どのようにコードを書き換えればよいでしょうか?
  • ユーザーフォームの初期化時にComboBox1、ComboBox2、ComboBox3にリストを表示させたいです。ただし、リストは別のシートにあります。どのようにコードを書けばいいでしょうか?
  • ユーザーフォームからデータベースに入力する際に、データが追加される行を指定する方法について質問です。現在のコードでは、データは常に最終行に追加されてしまいますが、指定した行に追加する方法はありますか?

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

>'ComboBox1をクリックしたときの処理 >'ComboBox2をクリックしたときの処理 それぞれ Worksheets(xx).Select Worksheets(xx).Select Replace:=False この箇所のシート選択を削れば良いです。 それによって他のコード箇所に Range("A1").Value = ... など、Rangeの親が指定されていない箇所があれば、 それはActivesheetに対するRangeになってしまいますので Worksheets(xx).Range("A1")... ..というようにWorksheetから指定するようにしてください。

dradra33
質問者

お礼

end-u様 昨日に引き続きご回答ありがとうございます。 ご指導の通り、 Worksheets(xx).Select Worksheets(xx).Select Replace:=False の部分を削除すると、フォームがWorksheets(1)に 固定された状態でComboBoxを選択できるようになりました。 >Worksheets(xx).Range("A1")... >..というようにWorksheetから指定するようにしてください。 今後このデータベースはまだいくつか機能を足して 行くつもりなので上記のアドバイスも心がけるようにします。

関連するQ&A