• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • セルの値からマクロで検索を行うには

    エクセルのシート1枚に700件程の物品の在庫管理をしています。 件数が多いためナンバーで検索を行えるよう、以下のようなマクロを作ってみました。 Sub 検索を行う() Dim 検索セル As Range Set 検索セル = Range("A1:A675").Find(120) If Not 検索セル Is Nothing Then 検索セル.Activate End If End Sub これでA列の「120番」を検索できるのですが、セルに入力した数値を検索するには、どうすればよいのでしょうか?? (例えばセルE1に120と入力して検索) 色々調べてみたのですが、セルの値から検索ができなくて・・・・。 よろしくご教授ください。

  • VBAマクロで検索をしたい

    VBAマクロで検索をしたい 1つの列に8~11桁の数字がならんでいます。 別シートに検索シートを作り、下4桁(右から4桁)で抽出したすべての数字を出すにはどうしたらいいでしょうか?><; 例)  シート1   A列 1 0001234555 2 12345678  3 3211234555 4 987654321 5 3211234555 6 1111114555 7 12344555 8 あ123い4555  シート2  A列検索  4555 ← 入力   ↓以下が検索される  0001234555  3211234555  3211234555  1111114555  12344555  あ123い4555 ※同じ数字が並ぶ場合もあり、その場合は複数あることを示すため、その個数分出して欲しい。 ※右4桁は数字のみだがそれ以外はひらがな、カタカナが入る場合がある どなたか教えてください><;

  • エクセルで検索後、隣のセルの内容を編集するマクロ?

    建設会社の事務で働いており、会計ソフトの入れ替えに伴い、確認作業のためのデータ入力を行っています。 A列に工事番号、B列に材料仕入れに使った代金の合計を入力していくという作業をしています。 B列の代金の入力方法は、例えば「ある材料19,800円、他の材料に5,670円使った」とすると「=19,800+5,670」というようにセルの中で計算して合計を出すようします。 1日毎の伝票を見ながら、膨大な数のA列の工事番号から該当の工事を見つけ、その工事のB列を選択、データを更新するという作業を行うので、少しでも効率化を図りたいと考えているのです。 そこで初めてマクロを組んでみようと考えました。 実現したいのは以下の手順です。 (1)A列から該当のセルを検索(この際、工事番号はSO-1707というようにアルファベット、ハイフン、数字から成り立ち、アルファベットが異なる工事番号で数字はカブるものがあります。 全文一致させれば良いのですが、少しでも効率化したいので、アルファベットとハイフンの入力を省き、複数候補からエクセル既存の検索機能のようにエンターとESCキーで選択したいと考えています。) (2)ヒットしたセルの横(B列)のセルを選択、入力出来る状態にする(既にデータが入力されている場合があるので、その文字列の最後に入力できる状態になってほしいと考えています。) (3)マクロ終了 Findを使えばいいんだろうということはわかるのですが、はじめてなのでその他のコトがわかりません。 ご教授願います。

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • エクセルで特定のセルに入力後エンターを押すとマクロが起動

    エクセルで特定のセルに入力後エンターを押すとマクロが起動 エクセルで、ファームで作成したボタンを押すとマクロが起動するように して有ります。 記憶させたマクロの起動にはファームで作成したボタンを右クリックし 「マクロの登録」でモジュールを登録する方法しか知りません。 これを特定のセルにデータを入力後エンターを押して入力値が確定されたら このマクロが起動するようにするにはどうすればいいのでしょうか?

  • 検索結果をセルに表示させるマクロ

    こんにちは。 エクセルのマクロ初心者です。 シート1に作ったあるリストから、シート2のあるセルにキーワードを入力すると、隣のセルに検索結果を表示させるマクロと作りたいのですが…。 エクセルの検索機能を使って、キーワードを入力し、次を検索をクリックすると、シート1のリストの中の部分的に合致するセルをカーソルは選択しますよね? その選択したセル内容をシート2のセルに表示させる方法がわかりません…。 アドバイスいただけないでしょうか。

  • 値が奇数の時、任意のセル範囲の行の色付けマクロを

    条件つき書式のマクロを教えてください。 任意の選択したセルの右端列に数字を入力しています。 その数字が奇数だったら、数字の入力してある任意の列は除いて、行の色付けをしたいのです。 選択するセル範囲と数字の入っているセルの列はシート毎、ブック毎に、変わりますので、マクロで設定をしたいと思っています。エクセル2010を使っています。 よろしくお願いします。

  • マクロ 空白セルへの文字入力

    A列が空白となるまでB列のとこどころに数字が入力されていて空白のセルへ0を入力する。 というマクロがどうしてもできないのですが、ご教示お願いします。

  • Enterキーでマクロを起動さす。

    Excelの(例)A1のセルに検索値を入力しEnterキーを押すと事前に組まれたマクロが起動する方法を教えて下さい。 又はEnterキーにマクロは設定できませんか?

  • 値を入力するマクロ

    excel2007です。 理想は、A1をダブルクリックすると、UserFormが立ち上がって そこに文字列を入力すると、A1にその内容が反映される。 しかし、もともとA1に文字が入っている場合、その内容が消えないようにしたいのです。(追記する) A1は結合セルです。 どのようにマクロを組むとスマートでしょうか・・・・ 宜しくお願いします。

専門家に質問してみよう