• ベストアンサー

VBAについてわからないことがあります・・

VBAでメッセージボックスに「新年の挨拶」(内容は自由)を表示するものを作成する。 また、それについて、エクセルにボタンをつくり、ボタンをクリックすれば、表示されるようにする。 この問題が自分なりに調べたんですがわかりませんでした(・.・;) ご回答よろしくお願いします。

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

  • ベストアンサー
  • pentium100
  • ベストアンサー率45% (689/1517)
回答No.1

Excel2007で回答します。 開発タブを開きます。ない場合は OfficeメニューのExcelオプションから「「開発」タブをリボンに表示」にチェックしてください。 VBEを開きまして、標準モジュールを作成します。 -------------------- Sub test() MsgBox "新年のあいさつ" End Sub -------------------- と記入して保存します。 Excelに戻って、ボタンを作成します。 挿入のフォームコントロールの中にあるボタンをクリックして、任意の位置にボタンを作ります。 するとマクロ登録の画面が出ますので、 そこで先ほど作成した「test」を指定して閉じます。 たぶんあなたの習熟度によっては、この説明では理解できない点もあるかと思いますが その場合はどこがわからないのか明示してください。 またExcelはどのバージョンを使っているかなども添えてください。

toukos
質問者

補足

ご回答ありがとうございます。 使っているパソコンはXPで「Microsoft Excel」です。 Officeメニューと「VBEを開きまして、標準モジュール」のVBEと標準モジュール がどこにあるのかわかりませんでした・・ 無知ですいません・・・

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

OSがxpならばエクセルもxpか2003でしょうか? エクセルでは2007とそれ以前のバージョンではえらく使い勝手が違いますので、バージョン情報を付記すると一発で満足の得られる回答がつきますよ。 さて本題です。 メニューバーから「ツール」<-「マクロ」<-「Visual Basic Editer」を選択します。 VBEが起動したら画面左の「プロジェクトエクスプローラ」で左クリックして 「挿入」<-「標準モジュール」を選択します。 すると「Module1」が立ち上がりますのでそこに以下をコピペしてください。 Sub test()'この行から MsgBox "「新年の挨拶」(内容は自由)" End Sub 'この行まで そこまで出来たらエクセルに戻ります。 エクセルのメニューバーから「表示」<-「ツールバー」<-「フォーム」を選択します。 「フォーム」のツールが表示されますので「ボタン」と言うアイコンをクリックします。 ボタンを作ったら「マクロの登録」と言うダイアログが出ますので、「test」を選択して「ok」を押します。

toukos
質問者

お礼

ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
  • pentium100
  • ベストアンサー率45% (689/1517)
回答No.2

それでは基礎から勉強された方がいいですね。 先ほどの回答は「Excel2007」です。 「Excel2003」「Excel2002」「Excel2000」などの場合は操作方法が異なります。 VBEの起動方法と標準モジュールの作り方はこちらを参照してください。 http://excelvba.pc-users.net/fol1/1_1.html

toukos
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBAでメッセージを表示する

    エクセルVBAでメッセージを表示する時は、 Msgbox "表示する内容" と記述しますが、これだと[OK]をクリックするまで エクセル本体が全く操作できなくなってしまいます。 メッセージボックスを表示させた状態で、エクセルを操作できるようにすることは 出来ますでしょうか?

  • エクセル VBA 

    エクセル VBA  Sheet上にコマンドボタンをクリックさせたら 電卓表示させるにはどのように記述をしたら良いですか? (1)勿論、VBAで電卓作成したいのですが…何か良いサイトはありますか?それか  作り方を教えて欲しいです。 (2)ツール⇒すべてのプログラム⇒アクセサリ⇒電卓  で表示できますよね!それをコマンドボタンクリックで  表示させるには、どのように記述したら良いですか?   すいません教えてください!

  • エクセルVBA

    エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。

  • 別のパソコンでこのVBAは動いています。

    問題を生じているVBAですが,私のFMV以外では正常に動きます。 私のFMVから外付けの拡張画面上にエクセルを表示して、コマンドボタンをクリックしてもこのVBAはフリーズして動きません。 ただし、私のFMV本体画面に同じエクセルを表示して,コマンドボタンをクリックすると私のFMVでもこのVBAは問題なく動きます。

  • VBAでユーザーフォームを再表示させたい。

    ExcelのVBAでユーザーフォームを作成し、 Initializeイベントで初期化をし、コマンドボタンを クリックしたら処理を行うように作成しました。 ところがコマンドボタンによって処理を行った後、 再度Initializeイベントを呼びたいんです。。 (コンボボックスの表示を更新する処理を 含んでいるため) なんとかうまい方法はないでしょうか??

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

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

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

  • Excel VBAメッセージボックスの表示位置が右下になってしまう

    ExcelのVBAでメッセージボックスを作成しましたが、 表示される位置がなぜが画面右下の端っこになってしまいます。 通常通り画面中央にメッセージボックスが表示されるにはどうすればよいでしょうか? またこうなってしまった原因はなんでしょうか? VBA初心者です。よろしくお願いします。

  • 特定のセルがアクティブになったときのイベント?

    エクセルのVBAで、「あるセルの内容が変更されたらメッセージボックスを表示する」ということはなんとかできたのですが、 「あるセルを(クリックして)アクティブにしたらメッセージボックスを表示する」 この方法がわかりません。 教えてください。よろしくお願いします。

  • EXCEL VBA 印刷時にメッセージ表示

    初めまして、こんにちは。 EXCEL VBA初心者で少々困っております。 EXCEL VBAを使い、ボタンに印刷するマクロを登録しました。 ボタンを押すと、指定の帳票が印刷できるようにはできたのですが、 追加の機能を盛り込みたいと思っています。 印刷する際、内容がいくつかあるので、それぞれテンプレートを作成したのですが、 印刷する内容がテンプレートそのままの場合は、メッセージボックスでメッセージを表示し、 印刷処理を中止するようにしたいのです。 テンプレートの内容は数量等が入るので、「○個」などとなっており、 数量などを適宜正しい値に変更した上で印刷処理をしたいため、 テンプレートのままの場合はNGとしたいです。 拙い説明で申し訳ございませんが、ご教示頂けますと助かります。 よろしくお願い致します。