• ベストアンサー

Excel-VBAでInputBox+Pulldownは可能??

Excel2003でVBAの勉強中です。 Inputboxを使って、入力させようと思いますが、入力の種類を統一するために、Pulldownを使いたいと思います。 この場合、どのようなCommandになりますか?? 又、PulldownListを別シートに作成する必要はありますか?? ご教授、よろしくお願いします。

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> 入力の種類を統一するために、Pulldownを使いたいと思います。 ユーザー定義のFormを作成し、そちらを表示するのが一般的な方法だと思います。 手元にExcelが無いので具体的な手順は提示できませんが、こちらのような手順でフォームを作成し、ドロップダウンリストを配置で良かったような。 衛星通信入門 - エクセル VBAの演習その2 - 演習8:二つの数値データの和を求めるユーザーフォームを作成せよ。 http://www.asahi-net.or.jp/~ei7m-wkt/numbr341.htm#8

参考URL:
http://www.asahi-net.or.jp/~ei7m-wkt/numbr341.htm#8

その他の回答 (1)

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

入力規則の操作をして、マクロの記録をとり修正するのが良いでしょう。 ーー シートや フォーム にドロップダウンを貼り付けるのは、 クリックイベントのことや、選択した値を指定した(複数指定)セルにセットする点で、初等的では有りません。 質問者は次々にあれはどうするのだろうという疑問がわきあがると思いますが、それを抑えて、基礎的なことを学習し。次に逆引き○○題 (市販の本は500題とかが最多?)に載っているような課題解決のレパートリーを増やしていくほかないでしょう。素人でも、エクセルに限ってですが、自然に頭に浮かぶ疑問を出したら、上記の本に載っている課題の3-5倍ぐらいでは収まりません(解説本もないとか、上位概念で解決必要とか)が、そういうのはとりあえず、VBAではできないのだと思って、他のことを学習し、徐々に学が進んだときに、再度考えてみることも大切です。

関連するQ&A

  • excel2000のVBAについて

    excel2000でコマンドボタン(command1)をclickすると VBAの command1_click関数の処理をするという マクロをVBAで作成したいのですが、 (1)excelシート上にコマンドボタンの作成方法 を教えてください

  • エクセル(VBA)上でINPUTBOX以外の入力方法ないでしょうか?

    子供向けに暗算ドリルを作成しようと考えています。 VBAで、Range("A1")=InputBox("答えは?")と記述すれば、シート上にINPUTBOXが現れて、セルA1に答えを入力できますね。画面上にINPUTBOXを表示させるのは、違和感を感じてます。 「A1に問題を次々に表示させ」「A1に”答えは?”と表示させ」「A1に答えを入力させ」「A1に”正解です”表示」するような、スマートな入力方法はありますか?

  • 【EXCELマクロ】inputboxへの入力を"*"で表記

    お世話になっております。 1点、質問させてください。 現在、teraterm用マクロを作るEXCELマクロを作成しております。 その中でteratermに接続するためのパスワードをinputboxにて入力させようとしているのですが、 入力された値を"*"で暗号化して表記することができません。 どなたかinputboxへの入力を"*"で表記させる方法をご存知の方はいらっしゃいませんでしょうか。 以上、よろしくお願いいたします。

  • EXCEL VBAで名前をつけて保存

    EXCEL2003でVBAを作成しています。 INPUTBOXに入力した名前でファイルを保存するVBAを 作成したのですが、 同じファイル名が既に存在していたときに、 エラーのメッセージを出すようなVBAはありますか?

  • InputBoxに入力した言葉をシート名にしたい!

    エクセルでInputBoxに入力した言葉をシート名に反映させるVBAを教えてください。 また、入力したくない場合はESCを押すとその作業を飛ばすというものも組み込んでいただくとありがたいです。 よろしくお願いします。

  • Excel2000とExcel2002のVBAの違いについて。

     以前、このカテゴリーにて、Excel2000におけるVBAのマクロを教えてもらったのですが、そのマクロ入力済みエクセルファイルをExcel2002へ移植したら、上手くVBAが働きません。  具体的にいうと、シート1に入力したデータの履歴を、シート2にて保存していくマクロなのですが、Excel2002では履歴のシートに上書きしていくことがあります。(たまに発生する)  Excel2000ではキチンと履歴のセルが全て残ります。  どなたか、この不具合を認識しておられる方。もしくは、対策をご存知の方がいらっしゃいましたら、教えてください。  

  • EXCEL2010 VBA シートモジュール

    EXCEL2010でVBAを使用しています。 シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。 特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。 なのでシートモジュールにコードを入力しておくことができません。 処理の流れ 1.シートAでコマンドボタンをクリック 2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成 シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような 方法はないでしょうか?

  • excel2010 VBA グラフの目盛の変更

    EXCEL2010のVBAでグラフを作成するコードを作成しております。 コードを実行すると入力シートの値を読み込み、別シートにグラフを複数作成します。 入力シートは最初はデータが入っておらず後から入力します。入力されたデータが反映されて グラフに値が表示されるのですが、目盛は0~値の最高値の少し上くらいまでが表示されます。 これを値が入力シートに入力されてグラフに反映されたら、目盛を表示された値の周辺のみに自動で変更したいのですが何か方法はないでしょうか? (例) データの最小値380       最大値400 目盛を370~410くらいにする

  • VBA inputbox関数について

    質問をさせてください。 VBA inputbox関数にて 数字を入力をし、その数字を元に挿入を行うというものを施しています。 そして下記の内容で実際は動くのですがどうしても疑問点が浮かんできます。 それはinputbox関数には宣言をしないと文字列として処理されますよね? なので、宣言をlongにして整数化をしています。 しかし、If "1" <= buf1 <= "65536" Thenの部分で 数字に""(ダブルコーテーション)を入れないとうまく作動しません。 例えば「0」を入力しても正の処理へ行います。 ダブルコーテーションで囲んでいる数値は文字列として認識されるはず・・ 入力は数値として宣言をしているのだからダブルコーテーションはいらないのではないんでしょうか? また、もし数字ではなく、記号などを入力をしてしまった場合の偽の処理へいくにはどうすれば いいでしょうか? 恐れ入りますがよろしくお願いいたします。 Sub test() Dim buf1 As Long buf1 = InputBox("コピー先の列番号を入力してください") If "1" <= buf1 <= "65536" Then Cells(buf1, 1).EntireRow.Insert Else MsgBox "正しい列番号を入力してください" Exit Sub End If End Sub

  • InputBoxの入力値を半角数字のみと限定する方法

    Excel_VBAで、InputBoxにより半角数字の入力を求めています。入力値が半角数字でない判定をするのに、最も容易な方法はありませんか?"CInt"だと文字列ではダメですし、悩んでおります。 InputBoxに、半角数字のみと限定するようなオプションがあれば良いのですが・・・。