• ベストアンサー

入力しエンターを押すと、同じ値のセルを検索し指すマクロの記述 についてお願いします。

いつもおせわになっています。 以下のような検索機能を目的としたマクロがあります。 ****************** C列に3桁の数字が並んでいます。 セルA1に3桁の数字を入れて、 CommandButtonをクリックすると、 A1と同じ値が入ったD列のセルに飛びます。(選択します。) ****************** これを、以下のように変えたいのですがどのように記述を変えれば良いのでしょうか。 A1に検索したい数字を入力し、入力を確定するエンターのあと、もう一度エンターを押すと検索する。 (CommandButtonを押すことと同じ機能。) もしくは、 A1セルを選択している時にエンターを押すと、CommandButtonをクリックすることになる。 よろしくお願いします。

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

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

>入力を確定するエンターのあと、もう一度エンターを押すと検索する >A1セルを選択している時にエンターを押すと、CommandButtonをクリックすることになる。 これを文字通り実現しようとなると、超上級のスキルが居ると予測。 こういう考えも成り立つとは思うが、VBA経験の少ない方のひねり出した、考えだと思う。エクセルVBAのイベントを少し勉強経験していたら、そういう発想にならないと思う。誰でも簡単に今できる方法でやるものだ。 今のVBAで簡単にやれる(APIなぞ使わない)ワークシートのChangeイベントを使うことを勧めます。 コマンドボタンのクリックイベントのコードの第1行目を変えるだけでよいはず。 Private Sub Worksheet_Change(ByVal Target As Range) End Sub とはいってもTargetの使い方が判る必要があるかな。

fsy
質問者

お礼

ありがとうございました。 素人発想で恥ずかしいです。 ご回答は参考になりました。

その他の回答 (1)

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.1

Changeイベントでマクロを起動する様に設定すれば可能な方法です。 "VBA Change イベント”等々でWEB検索すると、参考になるサイトが見つかると思いますし、中にはサンプルコードを載せている所もあると思います。 それらを参考にするとこのような処理にも対応できるでしょう。 例えば、 http://www.geocities.jp/happy_ngi/YNxv995.html このサイト↑の中ほど"C案"となっている所の説明などが参考になりそうな方法です。 データを入力するシートの見出しを右クリックして、"コードの表示"を選ぶとVBエディターが開くので、表示されたエリアにマクロを記述してください。 ただし、モジュールに記述する場合とは表現が違う部分もあるので気をつけてください。 Private Sub Worksheet_Change(ByVal Target As Range) このような書き出しで、以下マクロ記述・・・・

fsy
質問者

お礼

ありがとうございました。 まだ自分の手に負えるものではないようです。 活用できるよう勉強します。

関連するQ&A