• ベストアンサー

セルに入力するたびにマクロを実行する

タイトルにある通りなのですが、 今作っているエクセルファイルで、if文などを使いたかったため、VBAを使用しました。 プログラム自体は問題ないのですが、できれば入力するたびにマクロが実行されるように設定したいと考えています。 簡単なやり方があればお願いします!

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

言っている意味がよくわかりませんが、ワークシート上のセルに入力があった場合にマクロが実行されればいいのですね? ならば、そうしたいワークシートのタブを右クリックし、出てきたシートのモジュールに Private Sub Worksheet_Change(ByVal Target As Range) Call 実行したいマクロ名 End Sub としてみてください。

その他の回答 (2)

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

初心者でも、発想は、頭の中で、「何何したら、何々してほしい」と発想します。これは自然なんですが、コンピュタが扱うとなると、非常に精緻な仕組みを整え、ユーザーに使えるようにしてくれないと実現しません。パソコンのハード・ソフトが進化し、15年ぐらい前からウンドウズ3.1ごろになって、イベントという形で使えるようになりました。 ワークシートでは値のChangeやセルの選択変更などの機会に知らせて、ユーザーにプログラム実行制御権を渡してくれます、などです。 前者が Private Sub Worksheet_Change(ByVal Target As Range) 処理するコード End Sub です。 がしかし、ユーザーはキーボードやマウスで色々な操作をしますので なかなか、仕組みの深いところを知らないと、使うのは危険だと思います。 先日も、DELETEキーを押したことを捉えるにはどうするか、などの質問など出ています。 自分が自身で操作する業務あたりに(イベントプロシージュアーの)使用を限定するか、VBAを超えて、クラス化やAPI関数という分野まで勉強するかになるのですが、プロを目指すか、判った指導者でもいないと後者は難しいと思う。一部のイベントはそういう心配が不要なのもありますが。 小生の自戒の意味でもそう思う。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

シートのChangeイベントで作成したマクロを呼び出せばいいと思います Private Sub Worksheet_Change(Target as Range)   Macro1 End Sub といった具合です

関連するQ&A

  • たまにマクロを実行できないときがある

    Excel VBAを使っていて、 たまにマクロを実行できないときがあります。 特にデバッグ途中というわけでもないのに、 マクロで実行したいプログラムを選択しても実行ボタンがグレー色になっており 実行することができません。 全てのプログラムではなく、実行途中に変な操作が入り、 停止したものだけです。 excelを再起動すると元に戻ります。 これはどういう状態にあるのでしょうか? 再起動せずに復帰する方法を教えてください。

  • teratermマクロをVBAで実行

    teratermマクロについてご教示願います。 teratermマクロを組んで、Linuxサーバにログインして処理をする.ttlファイルを作成しようと思っています。 その.ttlファイルを、VBAのプログラムから実行することは可能でしょうか? やりたいことは、EXCELのシート上にある「実行」ボタンを押下すると、VBAからteratermマクロが実行される、という処理です。 可能かどうか教えてください。また、もしご存じであればその際の VBAの組み方も同時にご教示いただければと思います。 よろしくお願いいたします。

  • マクロを実行中にセルの操作をすることは可能?

    エクセルVBAでテトリスを作ろうと思うのですが マクロを実行中にセルの操作をすることは可能なのでしょうか? どうもマクロ実行中はフリーズするようなのですがこれは仕様でしょうか?

  • マクロ実行後、セルへ直接キーボード入力ができない。

    エクセルマクロを実行した後、 マウスを使わずに、 直接いきなりセルへ入力すると、 ツールバーのコマンド選択バー(というのかな?) が出てきてしまいます。 例えば、 「H」と入力すると、ヘルプのバー。 「F」と入力すると、ファイルのバー。 「E」と入力すると・・・ですね。 にゅーっと出てきてしまうのです。 エクセルマクロの実行内容は、 実行すると、他のファイルを開いて、 閉じるということをやっています。 上記のいう「H」が、 セルへ入力できればいいのですが、 何が原因なのかさっぱりわかりません。 「Application.EnableEvents = ・・・」や 「Application.ScreenUpdating = ・・・」 かな? 誰か対処方法がありましたら、 伝授のほうをよろしくおねがいします。 OS:windows95 ソフト:Excel97          です。

  • マクロ実行後、表示がおかしくなる

    マクロ実行後、表示がおかしくなる エクセル2003です。 たまになのですが、長いvbaコードを実行して、エクセル画面に戻ると、図のような状態になります。 A1など隠れた部分にも問題なく文字の投入はできます。 エクセルを再起動すれば元通りになりますが、これはエクセルのバグですか? 長いvbaコードで尚且つたまになので、どのコードでこの現象になるのかわかりません。 これは私だけでしょうか?

  • Excelでマクロを実行する度に指定したセル内に連番をつける

    お願いします。 Excelで、マクロを実行する度に新しい番号が入力される、というコードを教えてください。 入力される場所は常に同じセル(例えばA1)です。 *マクロ実行の度に前に記入されていた番号に上書きしたいです。 *数字は必ずしも00001から始まらなくてもかまいません。桁も問いません。

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • Excelで、「特定のセルの値が変わったらマクロを実行する」という設定はできないでしょうか。

    タイトルの通りです。 Excelで、「特定のセルの値が変わったらマクロを実行する」という設定はできないでしょうか。 ご存知の方がいらっしゃいましたら教えて下さい。

  • マクロの自動実行などについて

    エクセル2003のVBAマクロについて質問です あるワークシートに値が入力されたら、マクロを自動実行するように出来ないでしょうか? 又、そのセルの値を別のセルにコピーしたいのですが、データを入力する度にセルの場所が ひとつ下へずれます。この最終列のセルの値を必ず拾うようにするにはどうすればよいでしょうか? ややこしくてすいません

  • セルへの入力により「実行するマクロを選べる」ような仕組みは・・・

    毎度、お世話様です。タイトルの件ですが 【状況】 単純なものですがマクロが50個以上になってきました。 オブジェクトに登録すると「シートがオブジェクトだらけ」になってしまいます。 【やりたいこと】 例えばあるセルに「001」と入力しマクロを実行すると「Sub 自動001()」が実行 されるようにしたいのですが、可能なものでしょうか? 私はaltF8で選んでいるのですが、他人にも分かりやすい方法を模索中です。 どなたかよろしくお願いします(ponta_024)

専門家に質問してみよう