• ベストアンサー

EXCEL あるセルに数字が入力されれば既存マクロ実行させたい

ボタン等のグラフィックオブジェクトのマクロ実行は簡単なのですが、 ある位置のセルにデーターが入力されれば、 既存のマクロを自動実行させることできますか?

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

  • ベストアンサー
  • pamsd
  • ベストアンサー率18% (39/209)
回答No.1

Private Sub Worksheet_SelectionChange(ByVal Target As Range) if Range(ある位置) <>"" then call 既存のマクロ名 End Sub ある位置と既存のマクロ名を変更して使ってみてください。 あと このVBAは 操作するワークシートのほうに記述します。

その他の回答 (2)

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

数字という箇所に拘ると Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" And IsNumeric(Target) = True Then MsgBox "aaa" 'call xxx End If End Sub ただし (1)書式設定を 文字列で 12 や 12 (2)書式標準 123 などがOKになります。 またコピーしてA1に貼り付けても該当します。 値を空白に変えても該当します。 削除すると下のセルが文字列だと該当しません。数字だと該当します。(セル削除で、上に詰める場合) 結構色々考えると複雑です。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

単独セルの場合(A1セル) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Call マクロ名 End Sub 列固定の場合(A列) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Call マクロ名 End Sub 行固定の場合(2行目) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 2 Then Call マクロ名 End Sub 範囲指定の場合(A2:A30) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then  If Target.Row >= 1 And Target.Row <= 30 Then   Call マクロ名  End if End If End Sub 飛び地の場合(A2,B7,C11) Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case "$A$2","$B$7","$C$11" Call マクロ名 End Select End Sub

関連するQ&A

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

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

  • excelで セルの移動時にマクロ実行を設定したい。

    エクセルでボタンオブジェクトを作りクリックすると実行するようなマクロのを登録方法はわかるのですが、特定のセルB2に数値を入力してEnterKeyを押した際に実行するようにマクロを登録するにはどうするのでしょう。マクロの編集画面で 最初の行が Sub となっていますが、あそこに何かをいれたらいいのでしょうか?教えてください。よろしくお願いします。

  • エクセル アクティブ中のセルにマクロ実行

    表題の件について質問させていただきます。 基本的に数字の入っているセルなのですが、たまに数字の前に備考として特定の文字を入力しています。  特定文字例:東京・千葉・埼玉・鈴木・木村・佐藤  入力後の例:東京232・木村50 その特定の文字の入力には、マクロ登録してあるボタンで実行しています。  ActiveCell.FormulaR1C1 = "特定の文字" さて、質問なのですが、上記ではセルを選択しているときにボタンを押すことで特定文字の入力はきるのですが、入力中っていうのかな?カーソルが点滅している最中にはマクロが実行できないのです。 その為、数字の入った後のセルを選択してボタンを押すと、いちど数字の上に特定文字が上書きで入力されて数字が消えてしまいます。 現在は、ボタンを押して特定文字を入力した後に再度数字を入力しています。 どうにか、セルの選択中でもカーソル点滅中でもマクロを動かすことはできないでしょうか。 よろしくお願いいたします。

  • マクロが実行されるセル範囲の変更を簡素化したい

    excel 2016を使っています。 例えば、ボタンを押すと指定したセルA1~A10までに入力されている数値を昇順に並べ替えるマクロがあるとします。 この数値が入力されているセルA1~A10の範囲をドラックして、D1~D10の位置に移動すると、マクロが実行される範囲を新たにD1~D10に指定しないとならないのですが、マクロが実行される範囲をA1~A10の範囲に固定して、別の場所に移動してもマクロを修正しなくても良い方法はありますか。

  • Excel マクロで自動入力

    ○の右隣に、自動で×が入力されるマクロはどのようにすればいいですか? どこかに置いた図形をクリックしてマクロが実行されるのでも、そのままセルに○を入力したら実行されるのでもいいのです。

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

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

  • エクセルのマクロ実行について

    ボタンではなく動作を受けてマクロを実行させることはできませんか? 例えば、あるセルに「2」を入れると実行する等

  • 【エクセル】マクロでのセル移動についてお尋ねしたいのですが。

    エクセルで、行数の異なる複数の列に大量のデータを入力しています。 「マクロ実行用のボタン」を1つ作って、そこをクリックする度に、 例えば、セルを「B2」→「C2」→「D2」→「B2」→繰り返し のように順番に選択するといった、マクロを作りたいのですが、詳しい方、アドバイスお願いします!

  • 値によって違うマクロの実行

    表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。  1から15の時はマクロA  16から30の時はマクロB  31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。

  • エクセルでマクロを自動的に実行

    表題の通りなんですが、エクセルで、あるセルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのですが、そういったことってできるのでしょうか。 具体的には、  1、バーコードリーダーで数値をセルに入力  2、その数値に対応する名前をvlookup関数にて表示  3、その名前が入力された時点でマクロが自動的に実行 と言うものです。  3の部分がよく分からずに困っています。できるかどうか分かりませんが、もしできるようであるならその方法を教えていただければありがたいです。どうか、よろしくお願いします。

専門家に質問してみよう