• ベストアンサー

Excelのマクロ機能

Excelのマクロ機能で、検索機能を加えたいのですが、どのようにしたら良いのでしょうか??[Ctrl]+[F]ではなく、Yahooやgooのような検索機能です。 検索機能付きのサンプルExcelファイルなどありませんでしょうか??

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

  • ベストアンサー
回答No.8

こんばんわ。お返事が遅くなりまして申し訳ございません。 貴方様のお望みになっていることは、サンプルマクロという形で簡単に提供できるものではありません。勿論お望みどおりのプログラムを作ることはできます。貴方様に作ったファイルを渡す方法があれば可能なのですが、ここのサイトでは、貴方様と個人的に連絡を取り合うことができないので、無理なのです。貴方様がVBAのことをご存知なのであれば別なのですが・・・。 ということで、ここでご紹介できるのは、私が書いたマクロで動作させることがせいぜいです。 どうしてもそのようなシステムが必要なのであれば、有料になりますが、プログラムを作ってもらうことは可能かと思います。お探しになってみてはいかがでしょう。ただし、費用が何十万というように高額になると思いますが・・・。 ともあれ、貴方様と個人的に連絡をする方法がない以上、貴方様の思い通りの動作をするプログラミングは不可能であると言えます。

その他の回答 (7)

回答No.7

こんにちは。修正マクロを組んでみました。次のように操作してみて下さい。 1新規ブックを開き、ALT+F11キーを押してVBE画面を表示する。 2.画面左上にあるVBEProjectと書いてある下のTisWorkbookをダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。 Sub Kensaku() Dim myRange As Range Set myRange = Range("B3:" & Range("B2").CurrentRegion.SpecialCells(xlCellTypeLastCell).Address).Find(Range("B2").Value, after:=Range("B3"), LookIn:=xlValues, LookAt:=xlWhole) MsgBox myRange.Address MsgBox myRange.Value If myRange Is Nothing Then MsgBox "入力されたデータはこのシートに存在しません。", vbOKOnly + vbCritical, "入 力 エ ラ ー" Else myRange.Select End If End Sub 3.This Workbookの上にあるSheet1にカーソルを合わせてダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Call ThisWorkbook.Kensaku End Sub 4.挿入してあるシートの枚数分Sheet~をダブルクリックして3の操作を繰り返す。 >例えば、「日本語」というデータに、「日本」というキーワードで引っかかるように。 この件につきましては、実行することはできると思いますが、今すぐにと言われますとパッと操作方法を思いつきません。少し時間をいただければ何とか動作するように考えてみたいと思います。ご希望の節はお知らせ下さい。

goopon
質問者

補足

度々プログラムしてもらいありがとうございました。 大分思ったものに近づいたのですが、 やはり、[Ctrl] + [F]の機能と同じものは作れないのでしょうかね? ホントに[Ctrl] + [F]を使えば・・・って感じなのですが、 その2つのボタンを1つの画面上のボタンに変えられることと、 見栄えが良くしたいってのがあります。 なので、忠実に[Ctrl] + [F]の機能が欲しいところです。 不可能であれば、不可能であることだけでも分かれば幸いなのですが??。

回答No.6

こんばんわ。早速マクロを作ってみました。次のように操作してみて下さい。 1新規ブックを開き、ALT+F11キーを押してVBE画面を表示する。 2.画面左上にあるVBEProjectと書いてある下のTisWorkbookをダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。 3.再びALT+F11キーを押してエクセルの画面にもどる 4.ALT+F8キーを押してマクロダイアログボックスを表示させ、左の白い部分の中のThisWorkbook.Kensakuを選択し、右のオプションをクリックして、カーソルが点滅しているところに小文字でeと入力し、OKボタンをクリックする。その後×ボタンでマクロダイアログボックスを閉じる。 B列からM列まできちんとデータを入力し、B2に検索キーワードを入力後確定してCTR+eキーを押してみて下さい。 あなた様のおやりになりたいことが実現しているはずです。 もし不具合がありましたらご遠慮なくお知らせ下さい。修正させていただきます。 Sub Kensaku() Dim myRange As Range Set myRange = Range("B3:" & Cells(Rows.Count, 12).End(xlUp).Address).Find(Range("B2").Value, LookAt:=xlWhole) If myRange Is Nothing Then MsgBox "入力されたデータはこのシートに存在しません。", vbOKOnly + vbCritical, "入 力 エ ラ ー" Else myRange.Select End If End Sub

goopon
質問者

補足

ありがとうございます。 やりたい事ができてます。 ただ少し操作面で欲を言ってしまうと、 検索キーワードを入力し、カーソルをセルから外すなり、入力モードから切り替える必要がないですか? キーワードを入力し、すぐにエンターキーで検索に行くようにしたいのですが・・・。 無理なのでしょうか? それから、日本語文字に反応しなかったのですが、これも無理でしょうか?? 文字の一部にも検索が引っかかるように・・・。 例えば、「日本語」というデータに、「日本」というキーワードで引っかかるように。 てめえでプログラム憶えろよってな話ですが、すみませんが余裕があったら教えてください。お願いします。

回答No.5

こんばんわ。あなた様のおやりになりたいことはVBAのマクロでは、実現させることが難しいように思います。 マクロ機能というのは、、やりたいことが具体化していてそれを手操作ではなく自動で実行したい時に書くものです。ですから、なんにでも使えるテンプレートのようなものは、マクロでは作ることができないと思います。 何か具体例を挙げていただければ、サンプルマクロを提供することができるかと思います。

goopon
質問者

補足

なるほどそういう事ですか。 具体例・・・。 とりあえず、セルB2に検索キーワードを入力し、 B3~M3より下に記述されている日本語・英数字を検索し、その場所に移動するという機能があればと考えていました。 例えば、B3~M3以下に日本語とその意味と・・・を記入して、検索できるオリジナルの辞書みたいなものが作れるとか。 できれば、シートそれぞれ同じ場所に検索キーワード入力セルがあり、 検索範囲はシート全体にできると良いかと。 (シートは新語辞典とかデジタル用語辞典とか分けるためなど・・・。) そういう意味でテンプレートみたいなものと書いたのですが、説明不足でした。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.4

じゃ、これは?

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=378182
回答No.3

はじめまして。もし私でよろしければサンプルマクロを作ってみたいと思います。 もし、ご希望の節はあなた様のおやりになりたいことを具体的に詳しくお知らせ下さい。 お手数をおかけいたしますが、よろしくお願いいたします。

goopon
質問者

補足

ありがとうございます。 何にでも応用できるようテンプレートみたいなものを探してまして、 具体的なものは無いのですが・・・。 とりあえず[Ctrl]+[F]と同じ機能で、 表の内容(他のシートなど全体) を検索し、その場所に移動する機能があれば充分な感じです。 具体性がなくてすみません。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

Excel上でのweb検索も考慮に入れたものでしょうか? それともand検索やor検索でしょうか? 下記で探せると思いますのでお試しください。 http://plaza14.mbn.or.jp/~sunago/ http://www.age.ne.jp/x/kumapi/excel/excelvba.htm http://arena.nikkeibp.co.jp/tec/vba/ http://www.max.hi-ho.ne.jp/~happy/ http://homepage2.nifty.com/housaka/excel/vbafaq00.html

参考URL:
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv4.html
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

(1)探すもの 文字列(語句)ですか。 「[Ctrl]+[F]ではなく、Yahooやgooのような検索機能です。」とは何を意味するのですか。 Yahooやgooも語句を文章から探しているのでしょう。 「検索([Ctrl]+[F])ではなく」とはなにを意味するのでしょう。 (2)探す対象の範囲 当シート、他のシートも(ブック)、他のブック、エクセル以外の他のファイル、ネットワーク、WEBなど、どの辺まで考えないといけないですか。 (3)「検索操作をマクロ記録して、必要に応じて修正する」では、どこが満たされないのでしょうか。 「テキストボックスで探す語句を入力させ、Findメソッドで探し該当を列挙する。」ではダメですか。

goopon
質問者

補足

マクロの機能がこんなに広いものとは思わなかったので、説明不足になってしまいました。 補足しますと、 エクセルファイル上に、Yahooやgooのようなテキストボックス(?)とボタンを作り、 [Ctrl]+[F]と同じ役割をするようにしたいのです。 範囲はそのファイル(当シート、他シート)の程度です。 (3)の意味がよく分からなかったのですが、 多分そういう事なんじゃないかなと感じました。

関連するQ&A

  • Windowsのタスク機能からExcelを開きマクロを実行しようと思っても、Excelがアクティブにならず、マクロが実行されない。

    仕事で、指定の時間にExcelで作ったマクロを実行し、帳票を作らなくてはなりません。 PCの前にいない時間に、自動的に実行される必要があります。 マクロはExcelを開くと同時に実行されるよう、「Auto_Open」を使いました。 あとは自動にこのExcelが開けばいいので、こちらで検索したところ、タスク機能を使うとExcelを指定の時間に開くことができると知り、試してみました。 http://oshiete1.goo.ne.jp/qa4146028.html しかし、Excelは開くのですが、アクティブの状態にはならず、マクロが実行されません。 タスク機能ではExcelを開いてマクロを実行することはできないのでしょうか? タスク機能は、ウィザードに従って設定してます。プロパティからは特に設定していません。 どなたか教えてください。 宜しくお願いします。

  • Excelから、ファイルの検索機能を使いたい

     通常、Windowsキー+Fで表示されるファイルの検索機能ですが、これをExcelのマクロから呼び出す方法があれば教えてください。  現在Excelで簡易なデータベースを構築してまして、このExcelファイルから、MOドライブに格納されているワープロファイル(一太郎)を呼び出す機能を備えたいと思っているのです。  宜しくお願いします

  • エクセルマクロのサイトについて教えてください。

    お尋ねします。エクセルマクロのサンプルが多数あるインターネットのホームページをご存知ありませんか? 「エクセルマクロ」で検索したのですが、マクロサンプルがあまり掲載されているホームページがありませんでした。お手数ですが、よろしくお願いします。できれば、初中級レベルの充実したものでしたら、なおいいです。

  • EXCELのマクロ機能を教えて下さい

    お忙しい中、何時もありがとうございます。 EXCELで表を作成していますが、作業領域を一度に、表示したり非表示にしようとしています。 数式を入れる知識が無い為、【ツール】から【マクロの新しいマクロの登録】を使い、消したい行を指定、右クリックで【表示しないをクリック】。一行づつ消したり、CTRLキーを使い、行を先に指定してから一度に表示しないをクリックしてマクロの記録を終了させてみましたが、いざマクロ機能を使うと表のあるA列からAH列全てが非表示になってしまいます。 同じ要領で逆に表示する事をこの機能を使ってやってみましたがそれは反映されました。 どこに誤りがあるのか教えて頂ければあり難いです。 忙しい時間に申し訳ありませ

  • Excelのマクロが動きません。

    エクセルのマクロを使っていたのですが2003から2010にバージョンを変えたところ、 マクロが動かなくなってしまいました。プログラムは下記です。 Sub AvailableFonts() Dim Ctrl As CommandBarComboBox Dim i As Integer Set Ctrl = Application.CommandBars("Formatting"). _ Controls("フォント(&F):") For i = 1 To Ctrl.ListCount ActiveSheet.Cells(i, 1).Value = Ctrl.List(i) Next i End Sub 「Set Ctrl = Application.CommandBars("Formatting"). _ Controls("フォント(&F):")」 の部分で「プロシージャの呼び出し、または引数が不正です。」とエラーが出てしまいます。 エクセル2010で動かすにはどう変えたらいいのでしょうか。 ご教授お願いします。

  • EXCEL(マクロ機能あり)のコピー

    お世話になります。 現在、マクロ機能のあるEXCELファイルを別のPCへコピーし実行すると 思うような結果が返ってこない。 Sheetが2つあり、 ・Sheet1はDBより取得 ・Sheet2はSheet1を参照し集計 というように構成しています。 自分のPCでは全て問題なく実行できるが、 別のPCではSheet1のデータ取得は実行でき、Sheet2の参照集計ができない。 という点で悩んでいます。 お力添えをお願いいたします。 考えられる問題点は、 1.ファイルの作成時にマクロ機能を別のEXCELファイルよりコピー(ボタンの機能など)し、マクロの登録を行ったので参照がうまくいっていない。 2.マクロのコピーの仕方が正しくない 3.Excelファイルに何か設定をしなければならない(参照設定など) と考え調べていたのですが、解決に至りませんでした。 どなたかご教授をお願いいたします。

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

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

  • 検索はマクロで記録できないのでしょうか?

    エクセル2007です。 マクロの記録ボタンを押して、CTRL+Fで検索を立ち上げて、文字を検索して、マクロを終了したら、 Sub Macro1() ' Macro1 Macro End Sub としか記録されてませんでした。 検索はマクロで記録できないのでしょうか? ご回答よろしくお願いします。

  • エクセルのマクロでエクセルを終了することができますか。

    エクセルでマクロを作成しました。 このマクロを実行したら、エクセルを自動的に終了(ファイルF→終了X)するようにしたいのですが、できますか? ぜひ、教えて下さい。 なお、エクセル2000を使用してます。

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

    もう一度 助けてください エクセルの集計表である列の移動 並べ替えをエクセルのマクロ機能でつくりました ボタンを押すだけで うまくいっていたのですが データーが増え行を増やそうと 前のマクロを削除して また最初から作ろうとしたところ 記録できません 静的変数が64KBを超えたとかでます 編集 削除しようにも実行とキャンセルしか使えません いろいろほん(VBA)を見ましたが 私のレペルでは100年無理です 簡単なエクセルのマクロにも 範囲があるんですか あるひとつのシートだけマクロを残しています 手作業の集計や決まった作業はたいへんです

専門家に質問してみよう