• ベストアンサー

エクセルマクロの質問

先程質問させて頂いて、早々にご回答を頂き、問題は解決したのですが、また新たに問題が出たので質問します。 5枚のシートを選択して、そこから検索したいのですが、マクロの実行で検索のダイアログを表示させるまではできたのですが、いざ値を入力をすると「値がありません。」とメッセージがでます。マクロの実行ではなく、手作業で(シート選択まではマクロ)検索→値の入力をすると、検索ができるのですが、、、どうしてこうなるのでしょうか。教えて下さい。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >どうしてこうなるのでしょうか。教えて下さい。 というご質問と、解決したいというご質問では、かなり解答の質的に異なるかと思います。 出来ない理由は、おそらくは、Excelのワークシートから実行されるコマンドは、VBAとは別の経由を持って命令される、としか言いようがありません。 細かく挙動を観察すると、ワークシートからの命令は、検索データなどを、一旦何かフィルタで選別してから、実際の検索のプログラムに与えているように見受けられます。ユーザーの利便性を図ってとは思うものの、それをVBA側からは操作は、かなり難しいものではないかと思います。 いずれにしても、VBAからのダイアログの立ち上げは、ワークシート上のコマンドとは、必ずしも同じ働きとは言えません。 ただ、前のご質問と合わせて言わせて、少しコメントさせていただくとするなら、ご質問の内容は、マクロ(自動作業)として、結果の目的を持たず、ダイアログの立ち上げでは、実質的には、あまり意味のあるものではないのです。 単に、自動起動するものは、ショートカットに過ぎないです。しかし、それは、ある程度、Excelの操作に慣れるにしたがって、特に、このような検索や置換は、すでにショートカット(Ctrl + f) が装備されていますから、なるべく、VBAには頼らずに、すばやく行えるようにしたほうがよいのではないか、と私は思います。また、次バージョンなどで解決しているものですから、あまり、そういう点で支障を感じられるようでしたら、Version Up したほうがよいのではないか、と私は思います。 'なるべく標準モジュールがよいです。 '必ず、ワークシート内から行ってください。Visual Basic Editor ないから実行しないでください。 Sub FindAll() Dim i As Integer Dim LastNum As Integer If Worksheets.Count >= 5 Then LastNum = 5 Else LastNum = Worksheets.Count For i = 1 To LastNum  Worksheets(i).Select False Next Application.SendKeys "^f" End Sub

majalis3113
質問者

お礼

細かいご回答ありがとうございました。なるほどよくわかりました(^-^)お礼が遅れて申し訳ありませんでした。

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

関連するQ&A

  • EXCEL 2000のマクロで質問

    ECXEL 2000のマクロで分からない点があるので 教えてください。 下記のマクロを実行して、シートSheet2,Sheet3を削除したいのですが 実行すると、"選択したシートを削除します。一度削除すると元に戻すことは 出来ません OK キャンセル"とのダイアログが出てきてしまいます。 このダイアログを表示させずに削除を実行させるにはどうすればいいのでしょうか。 ヘルプを参照して調べましたがどうも分かりません。 詳しい方、アドバイスをお願いします。 Sheets(Array("Sheet2", "Sheet3")).Select ActiveWindow.SelectedSheets.Delete

  • エクセルマクロの質問

    マクロで検索したいシートに移動して、検索のダイアログを表示するまでさせたいのですが、どうすればいいのでしょうか。教えて下さい。

  • 【Excel】マクロでメッセージを表示する

    Excel2003を使用しています。 Aという名前の一覧表を作成するマクロがあります。 マクロAは『Sheet1』を選択した状態で正しく実行されますので、うっかり他のシートを選択した状態で、マクロAを実行してしまうと、一覧表が正しく作成されません。 こうなった場合、誤って作成された一覧表を消去して、もう一度やり直せば済むことなのですが、『Sheet1』を選択していない状態でマクロAを実行しようとすると、何かメッセージ(例えば、“Sheet1を選択後、実行してください”みたいな)が表示されるようにすることはできるでしょうか? 参考書にダイアログボックスにメッセージを表示させるマクロが載っていましたので、マクロAにそのようなコードを追加する(?)ことで可能かな??と思い、質問させていただきました。 よろしくお願いします。

  • エクセルのマクロについての質問です。

    エクセルのマクロについての質問です。 マクロボタンを作成し、発動する際に対象シートがセルに入力された値にしたいのです。 例えば シート名 「メイン」、「1月」~「12月」までの13個存在しているとして。 シート「メイン」のA1に2月と入力されている状態でマクロを発動させた時 シート「メイン」のA2の値をシート「2月」のA1に返すような感じです。 3月と入力されていればシート「3月」のA1に返すような・・・・ 文章力がなくて申し訳ありません。

  • エクセルマクロで教えてください。

    エクセルのマクロで、自動処理で、「Sheet1」を削除しようとしました。 しかし、削除しようとしたマクロを実行すると下記のメッセージが毎回出てしまいます。メッセージを出さない方法はありますでしょうか? メッセージ:選択したシートに、データが存在する可能性があります。データを完全削除するには、・・・・・」

  • エクセルで特定のセルを選択したい(マクロ)

    以下のようなマクロを組もうとしていますが、出来ません。 sheet1において 1)マクロを実行すると、メッセージボックスが出る。 2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。 3)2)のセルの1行下のセルを選択する。 2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。

  • エクセルのマクロで任意のセルを別Sheetで検索したいのですが?・???

    PC初心者で困っています。 エクセルのマクロでSheet1アクティブセル(1)をコピーし、 Sheet2でCTRL+Fで検索ダイアログに(1)を貼り付け、検索する。 マクロを作ってみましたが、 マクロ実行2回目から上手くいきません。これはモジュールで検索ダイアログで貼り付けるところで””に変えても駄目でしたが? どうするか御存知でしたら教えて頂けませんでしょうか? 宜しくお願いいたします。

  • Excelのマクロについて

    Excelのマクロについて excel2003で,マクロの自動記録を勉強中です。 [ツール]-[マクロ]-[新しいマクロの記録]でマクロ名を入力し,(マクロの保存先を「作業中のブック」として,)[OK]をクリックすると マクロの記録が始まります。 マクロの記録終了後, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が表示されます。 この場合は実行も正常にできます。 しかし, ブックを一旦保存した後,開いて,マクロを実行しようと, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が(マクロ名単独ではなく)ブック名とともに表示されます。 実行するとエラーになります。 何が悪いのか分かりません。なにか基本的なミスがあるのかも知れないと考えました。 原因(ミス)に心当たりのあるかた,是非教えてください。

  • エクセルマクロでご教授下さい。

    エクセルマクロでご教授下さい。 1.あるマクロをセルを入力(Enter)したら実行するには どのように記述すればいいでしょうか? 例えばG12に文字を入力しEnterした時 に実行したい。 2.あるマクロをシートを選択した時に実行するには どのように記述すればいいでしょうか? 以上宜しくお願い致します。

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

     エクセル2000を使用しています。  先月使っていたファイルをコピーして、今月分のデータを新たに入力しようと思ったのですが、このファイルにはマクロが設定されており、コピーした新しいファイルではエラーメッセージが出てマクロが実行されません。  このエラーメッセージ通りセキュリティーレベルを変更したのですが、やはり同じエラーメッセージが出てマクロが実行されません。  そこで先月分のファイルからマクロ部分のみをコピーして張り付けてみました。  これによってマクロは実行されるものの、その実行にとても時間が掛かってしまいます。  これを解決する良い方法があったら教えて下さい。よろしくお願いします。  *当方は初心者ですので、できれば難解な専門用語は使わないで下さい。お願いします。

専門家に質問してみよう