• ベストアンサー

エクセルVBAに関する質問です。

フォームのコマンドボタンを押すと、シート1のA1が選択され、その後、何もせず数字を入力すると、シート1のA1にその数字が入るようにしたいのですが、どうすればよいのでしょうか? フォームはメニュー代わりに使いたいので、常に表示させておきたいです。 よろしくお願いします。

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

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

[AppActivateステートメント]を使ってExcelをアクティブにする必要があります。 #モードレスUserForm前提 AppActivate Application.Caption Application.Goto Worksheets("Sheet1").Range("A1")

yoshibass
質問者

お礼

回答ありがとうございます。 思った通りに動きました。 大変、助かりました。 また困った時にはよろしくお願いいたします。

その他の回答 (1)

  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.1

Worksheets("Sheet1").Activate Range("A1").Select で良かったんじなかったでしたっけ。

yoshibass
質問者

補足

すみません。これでは、コマンドボタンを押した時点でフォームの方がアクティブになるため、コマンドボタンを押した後、エクセル本体(シート)をクリックしアクティブにしなければ、A1に数字は入りません…。 コマンドボタンを押して、その後シートをアクティブにするという動作をせずに数字を入れたら、A1にその数字が入るようにしたいのです。

関連するQ&A

  • VBAでセルの数値の計算

    現在ユーザーフォームのテキストボックスに数値を入力し、コマンドボタンをクリックするとSheet1のセルのA1に数字が入り、その後例えばテキストボックスの数字を変更して再度コマンドボタンをクリックするとA2・A3と続けて数字が入ります。そこで、コマンドボタンをクリックするとSheet2のセルA1にSheet1のA列の数字の合計が表示されるようにするにはどうしたら良いでしょうか??

  • VBAエクセルのフォームについて

    お世話になっております。 VBAエクセルのフォームについて教えていただきたいのです。 VBAで入力のフォームを作ったのですが(TEXT BOXが4つ、コマンドボタン1つ、コマンドボタンを押したときに登録される用にしたい) 各シートの集計にしたい為、各シート(31のシートがあります)に入力フォームがあります、その各シートでの入力結果を1つのシートに 集計したいのですが、どの様なコードにしたらようか判りません。 素人のためお手数ですが、なるべく判りやすくお願いします。 よろしくお願いします。

  • エクセル VBAの初歩的な質問です。

    sheet1のセルにコマンドボタンを置きます。 そのコマンドボタンを押すとA1のセルが選択されるコードを教えていただけないでしょうか? よろしくお願いします。

  • エクセルVBAの質問です。

    エクセルVBAでユーザーフォーム上からセルを選択したいのですが、可能でしょうか? 当初はユーザフォーム上のボタンにRange("a1").selectを入れておき、ボタンをクリックするとA1セルが選択状態になり、キーボードで入力できると思ったのですが、駄目でしたorz とまぁユーザーフォーム上のボタンを押すとキーボードでセルに直接入力ができる状態にしたいです。 アドバイスの程よろしくお願いします!

  • エクセル コマンドボタン

    1)Sheet1でコマンドボタンを作成。クリックするとフォームが表示さ  れます。そのフォームの中のテクストボックスに数字を入れ、それ  をSheet2のB2に挿入したいです。どうすればいいのですか? 2)Sheet2にコマンドボタンを作りました。Sheet2へ戻るようなボタン  を作りたいのですがどうすれば良いですか? 以上2つの質問です。是非教えてください。

  • エクセルVBAでグラフ表示

    エクセル2002使用です。 ユーザーフォームを作り、そこにコマンドボタンを置いています。コマンドボタンをクリックすると、ワークシート上にあるグラフを表示したいのですが・・・ Private Sub CommandButton1_Click() Charts("Graph4").Select Charts("Graph4").Activate End Sub 問題が2つ出てしまいました。 1.ワークブック内でシートは切り替わるのですが、グラフがユーザーフォームの後ろに隠れてしまったままでユーザーフォームの手前に表示できない。 2.グラフ(シート)を表示した後、ユーザーフォームに戻る方法がわからない。 ユーザーフォームからシートにあるグラフを表示させたい場合は、どのような方法がベストなのでしょうか?できれば、ユーザーフォーム上ですべてを行いたいのですが、グラフ作成のコードも新たに作らないと駄目なのでしょうか? 質問の仕方も難しく説明不足かもしれませんが、よろしくお願いします。

  • エクセル VBA

    最終行から順番に下へ同列で入力するVBAを教えて下さい。 EXCELのVBAで教えて下さい。 シート1のA列にはB列が入力されると自動入力されるNo.があり、C~G列もB列が入力されると自動入力されます。 B列には日付が、H列には3~4桁の数字が入力したいのですが、 入力行は必ず最下行のセルB、Gな為、VBAでフォームを作成し、 入力実行ボタンを押すことにより、最下行のセルB、Gに反映されるように したいです。 又、上記入力後に、シート2のH~N列をコピーして、シート3のA~G列に値のみの貼り付けを行い保存した後、シート3のA~G列をコピーして csvファイルを作成して保存したいです。 一連の流れを、フォームの入力実行ボタンを押すことで実行したいのですができるのでしょうか? 宜しく御願い致します。

  • エクセルVBAで

    1週間分のスケジュールをシートにセットするための入力フォームを作りました。 大まかには、◎年◎月◎週目と選択すると該当日(月~日)が表示され、各日に対するスケジュールを入力します。 『Cmdデータセット』と言うコマンドボタンをクリックすると該当シートにそのデータが反映されます。 シートは月間スケジュールと週間スケジュールに分かれていて、 コマンドボタンをクリックすると月間・週間のそれぞれ該当シートにデータを反映させます。・・・と言うものです。 週間スケジュールについては問題ないのですが、月間スケジュールで行き詰まってしまっています。 助けていただきたいのは・・・ 現在は”19年10月5週目”を選択していたら10月のシートを見るように設定してあります。 基本的にはこれで問題ないのですが、 例えば実際に”19年10月5週目”を選択したとします。 すると、10月29日~11月4日の日付が表示されます。 そのため、この状態だと10月1日~4日と10月29日~31日にデータが反映されてしまいます。 10月29日~31日分は10月のシートを見る(selectする)ように、11月1日~4日分は11月のシートを見る(selectする)ようにしたいのです。 月をまたがない場合は日付は必ず昇順となります。 日付が昇順の場合は現状通り選択した月のシートをselectし、 そうでない場合は1桁の数字(あるいは1~6)の分のみ 次(右隣)の月のシートをselect(ActiveSheet.Next.Select?)させたいのですが可能でしょうか? イメージとしてはselect文を条件式、「どのセルにどのスケジュールをセットするか」を実行する処理としてloopを使えたら。という感じなのですが。 VBAを独学で進めている上にまだまだ未熟のため、 馬鹿げていたりありえない話をしてしまっているかもしれませんが、何卒よろしくお願いします。

  • Excel VBAについて質問です。

    VBA初心者です。 フォームを2つ作成しております。 1つはフォーム名[入力用] もう1つはフォーム名[要求元]です。 フォーム[要求元]はリストボックス[リスト]と コマンドボタン[入力]と[終了]があります。 リストボックスのデータはRowsourceでセル番地を直接指定してます。 フォーム[要求元]においてリストボックスでデータを選びコマンドボタン[登録]を押すと、 フォーム[入力用]のテキストボックスに代入する方法がわかりません。 どなたか御教授お願い致します。

  • Excel VBA(Win2000、Office2000)

    現在、VBAでExcelのシートに書き込むフォームを作っており、日付に関することで困っています。 フォーム上には複数のComboBox、TextBoxが並んでおり、OKボタンをクリックすることで、フォーム上に並んだ、ComboBox、TextBoxの値をセルに書き込むようにしています。 問題の日付に関する質問についてですが・・・ ユーザーフォーム上に 年を入力するComboBox1 → 2004 月を入力するComboBox2 → 5 日を入力するComboBox3 → 7 *いづれも、プルダウンから数字を選択して入力するようにしています。 この3つの入力値を合わせて、2004/05/07と認識させて、TextBox1に"金"と表示させたいのですが、どのようにしたら良いでしょうか? TextBox1表示されるタイミングは、日を入力するComboBox3が入力された時としたいです。 宜しくお願い致します。

専門家に質問してみよう