こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel vba ユーザーフォーム

現在、セルa101からa110までに「商品名」、セルb101からb110までに「金額」が
入力済みです。
このデータを、ユーザーフォーム上にコンボボックスを2つ作成し、セルa1へ
商品名を選択後、入力。また、b2へ金額を選択後、入力させたいのです。
また、ユーザーフォーム上にテキストボックスを作成し、ここに入力した
「備考」の全角10文字をc1へ移動したいです。
今のところ、ユーザーフォーム、コンボボックス、テキストボックスを作成した
だけで
立ち往生しています。
どなたか、ご教授お願いいたします。

投稿日時 - 2014-01-11 00:30:04

QNo.8424217

すぐに回答ほしいです

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

ご説明の不明点:
1.A101以下から選ぶ商品とB101以下の金額は、「隣り合わせがそれぞれ対応する」んじゃなくて、コンボボックス1と2で「勝手に選ぶ」というお話なのか?
2.コンボボックスから選んだりテキストボックスに記入した後、いったい「いつ(=どういうタイミングで)」それぞれ対応するセルに転記したいのか?


とりあえず次の通りにします。
○コンボボックスの1と2は、それぞれ選択肢から「勝手に選んで良い」
○ユーザーフォームに更に「コマンドボタン1」を配置し、それをクリックしたらセルに転記する
 ついでに「記入を終えてない場合は記入を促し転記は行わない」ことにする


準備:
UserForm1にComboBox1、ComboBox2、TextBox1、CommandButton1を配置する
Combobox1と2それぞれについて、プロパティウィンドウを開きRowSource欄にSheet1!A101:A110、Sheet1!B101:B110のように「当然正しいシート名を添えて」記入する

手順:
コマンドボタン1を右クリックしてコードの表示を開始
private sub CommandButton1_Click()
 if me.combobox1 = "" or me.combobox2 = "" or me.textbox1 = "" then
  msgbox "FILL IN DATA"
  exit sub
 end if

 range("A1") = me.combobox1.value
 range("B1") = me.combobox2.value
 range("C1") = me.textbox1.value
end sub
のように作成する。

投稿日時 - 2014-01-11 00:49:17

お礼

大変お世話になりました。
うまく出来ました。
また、お世話になるかもしれません。
その際はよろしくお願いします!!

投稿日時 - 2014-01-11 12:49:01

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問