• 締切済み

VBA初心者

imogasiの回答

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

Basic時代から、Input(ステートメント)というのがある。 Sub test01() Filename = InputBox("XXのファイルネーム入力 ") MsgBox Filename '確認用 End Sub ーー VBAをやりだしたのなら、使えるVBAのステートメントを一度総ざらえで名前だけでも勉強しておくべきだ。 TextBoxを使うとか、そういう方法もあるが、その次の学習課題だろう。

関連するQ&A

  • ユーザフォーム(VBA)で入力した内容をシートへコピーするには

    ユーザフォーム(VBA)でテキストボックスとボタンを作成しました。 このテキストボックスに入力した内容をボタンを押すことでシート1のA1セルにコピーしたいのです。こんな簡単な感じなのですが、 プログラムはどのようにしたらよいのでしょうか?教えてください。 それと、このエクセルファイルを開き、マクロを有効にするのボタンを押すと思うのですが、そのときにすでにユーザフォームが表示されているようにしたいのですが・・・どうすればいいのでしょうか? ※できたらでよいのですが、もう一つボタンを作成し『クリア』ボタンということで、テキストボックスに入力した内容だけをクリアさせるボタンも作ろうとおもうのですが、それはどうしたらよいのでしょうか? 困っています。教えてください。

  • エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされて

    エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされてしまう VBAマクロ初心者です。 エクセルVBAマクロで、以下の様なプログラムを作成し計算させていますが、 一度入力した値がテキストポックスに残ってしまい、なんとかならないかなと 思っています。 (1)複数シートにそれぞれコマンドボタンを配置し、クリックすると同じユーザー フォームが立ち上がるようになっています。 (2)そのユーザーフォーム内に、テキストボックスが複数あり、それぞれ値を入力 して計算スタートさせると、ワークシートの1行目から数千行目まで計算して 各行に計算結果を表示します。 (計算は、既に各行に入力済みのデータとこのテキストボックスの値を元に算出されます) (3)次に、別のシートでコマンドボタンをクリックし、ユーザーフォームを立ち上げると、 前のシートで入力した値がそのまま各テキストボックスに入ってしまいます。 (これは、必ず起こる訳ではなく、時々起こるのですが、起こる場合は、コマンドボタン をクリックしてからユーザーフォームが立ち上がるまでの時間が若干短い感じがします) ※一度、上記の計算をさせるとテキストボックスの値がそのシートの特定のセルに入り、 次回ユーザーフォームを立ち上げた際に、テキストボックスに入るようになっています。 (Private Sub UserForm Initialize を使っています) パソコンの構造を、私はよく知らないのですが、おそらく、一度テキストボックスに値 を入力して計算させると、どこかのメモリにそれが残っていて、次にユーザーフォーム を立ち上げた際にそれが入ってしまうのかな、と思っています。 (ただし、もし前の値が入ってしまったとしても、一度そのユーザーフォームを消して から、再度立ち上げると、正常な値(そのシートの特定のセルを参照)が必ず入ります) 何か、プログラムにより、このメモリ?を消す?、あるいはうまく解決する方法など 考えられませんでしょうか? もし、詳しい方がおられましたら、御教示いただけませんでしょうか。 よろしくお願いいたします。

  • VBA での複数シートに渡る複数条件検索

    こんにちは 都内でNWエンジニアをしているものです。 VBA全くの初心者ですが、今まで自分で調べてきて 欲しい情報がなかなかえられていない状態なので、 皆様からのヒントを頂きたく投稿させて頂きました。 内容を下記いたします。 【概要】 ・Excelにて10以上のシートに渡ってIPアドレス(数字)を管理しているブックがあります。 ・IPアドレスは1~4オクテット各別々のセルに記載されています。 (※例:画像「Ex1」をご参照ください※) 【やりたいこと】 ・既存のIP管理ブックに「検索」シートを挿入し、その中に「検索」ボタンを1つ作成します。 ・VBAにて検索フォームを作成し、  ユーザーフォーム中にテキストボックスを4つ、コマンドボタンを1つ作成します。 ・シート内に作成した「検索」ボタンを押すと、「検索」フォームがポップアップする  ように「検索」ボタンにマクロを登録します。 (※ここまではなんとかできました※) ※以下の部分がどのようにしたらよいのか困っています※ ・ポップアップされてきたユーザーフォーム中の  各4つのテキストボックス中にIPの数字を入力した上で、  ユーザーフォーム中のコマンドボタンを押すと検索を開始し4つのテキストボックス中の  数字に全て合致したセルまたは行へシートを跨いで移動する。  ということを行いたいのです。 どのような構文が必要になってくるのかが まったく見えていないのが現状です。 何卒皆様のご助力を頂きたくお願い申し上げます。

  • エクセルVBA ユーザーフォームの終了について

    エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)

  • VBAのユーザーフォームについて

    VBAの全くの素人です。 ユーザーフォームについていくつか質問させてください。 テキストボックスにファイル名を入力し、実行釦を押す事で、IEを立ち上げ、画像ファイルを開くマクロを組んだ場合、 (1)「クリア」というコマンド釦を作り、その釦を押した際にテキストボックスに入力した値を消す為には、そのコードにはどのように記述すればよいでしょうか? (2)さらにその「クリア」釦を押す事により立ち上げたIEを閉じる事はできないでしょうか? (3)このマクロを組んだExelファイルを立ち上げた時点で、マクロを実行し、「終了釦」を作り、その釦により、Exelごと終了させるにはどうすれば良いでしょうか? 以上、素人の質問で恐縮ですがご教示ください。 よろしくお願いします。

  • VBA のオプションボタンって・・・

    教えて頂きたいのですが、 普通、オプションボタンってユーザーフォーム上に作成すると思いますが、訳があってsheet上に作りたいのです。 コントロールツールボックスで作成した直後はちゃんとマクロが走るのですが、一回セーブしてbookを閉じてからオプションボタンを押そうとするとマクロが走ってくれません。 自分で思うに、オプションボタンが画像として扱われている雰囲気がするのですが、ご存知の方がいらっしゃったら教えてください。よろしくお願い致します。

  • セル内の文と同じ名前のフォルダにシートを保存させる

    マクロのフォームにチェックボックス2個とコマンドボタン1個があります。 Excelブック内にシートが3つあり、シート1内のセルA1,B1に入力されている内容をファイル名(例:A1_B1)にし、フォームのチェックボックス1にチェックを入れてコマンドボタンを押すとシート2、チェックボックス2にチェックを入れてコマンドボタンを押すとシート3を、C1に入力されている内容と同じ名称のフォルダに保存させるマクロを作成したいです。 なお、A1,B1,C1は固定で移動はしません。 また、保存先のフォルダは用意されています。 ファイル名が重複する場合は上書きするか確認したいです。 現在、マクロを勉強中です。 図々しいとは思いますが、もし可能であれば、どういう意図でコードを使用しているか等の解説もしていただければ助かります。 どうぞよろしくお願いいたします。

  • Excelユーザーフォームでのデータ検索

    初心者の質問で申し訳ございません。 ユーザーフォームを利用して検索ボタンを作ろうと考えています。 ユーザーフォームでテキストボックスを2個と コマンドボタン1個を作成し、 テキストボックス1に検索したい氏名を入力して コマンドボタンを押すと、 ワークシート(ワークシート名、データ)に作成されたデータのD列から 一致するものを検索し、 一致したデータのA列にある「番号」をテキストボックス2、 表示する。 というマクロが書けず困っています。 よろしくお願いします。

  • 【Excel VBA】マクロ名一覧の表示について

    Excel2003を使用しています。 ある1つのBookにマクロが25個あります。 マクロを実行する際、目的のマクロが見つけやすいよう、マクロ名にある程度の規則性を持たせているものの、もう少し使い勝手がよくならないかと考え中です。 マクロ名は、下記のようになっています。 (1).あ01_○×、あ02_×○、あ03_○○… (2).い01_●●、い02_●×… (3).う01_××、う02_×□、う03_□×、う04_□□… (4).え01_●□、え02_□●、… 例えば、こんなことが可能かどうかもわからないのですが…。 この25個のマクロは、マクロの内容から大きく分けて、上記(1)~(4)の4種類で、シート上にボタンを4つ配置(仮に、ボタン1、ボタン2、ボタン3、ボタン4)して、ボタン1をクリックしたら、ボタン1に割り振られているマクロ名(例えば、(1)のマクロ名)のみ表示して、その中から目的のマクロを選択すると、そのマクロが実行されるようにすることは、可能でしょうか? イメージとしては、ボタンを配置するということに限らず、入力規則のリストから選択するような感じで、どうにかできないかなと思っていますが、何か良い方法はないでしょうか? わかりづらい文章で申し訳ありませんが、よろしくお願いします。

  • 実行時エラーについて(エクセル)教えてください

    ブック内の特定のシート(シート名"白")がブック上に無いときにフォームのボタンをクリックしたときに "白シートがありません"と表示させるにはどのようなマクロの記述をしたらよいのでしょうか? ご教示願います。