

初めて質問させていただきます。
社内コミュニケーションの取り組みで、改善要望とそれに対する回答の一覧をエクセルで作成しました。それを全社に公開するにあたり、検索窓でフリーワードを入れて検索ができるようにしたいのですが、方法を教えていただけないでしょうか。イメージはGoogle検索のような感じです。この1週間、色々調べて試しているのですがどれもうまくいきません。そもそもスキルをもっていないので苦戦しています…。12/25に公開する予定なのでもう時間がなく、藁をもつかむ思いでこちらに質問させていただくことにしました…。
どなたかお詳しい方にご教示いただけると幸いです。どうぞよろしくお願いいたします。
詳細は以下の通りです。
①エクセルはOffice365を使用
②一覧はA~G列まで項目があり、C列の要望欄を検索対象とします
③フリーワード検索用のシートを別に作り、そちらに検索窓とC列を検索した結果を表示
④結果はA~G列まですべて表示
以上です。不足する情報があれば追加させていただきますのでご連絡ください。
No.4ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに作成してください。
データ量が多くないので、高速化は行っていません。
Option Explicit
Sub 検索処理()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim maxrow1 As Long
Dim word As String
Dim row1 As Long
Dim row2 As Long
Dim ctr As Long
Set sh1 = Worksheets("フリーワード検索用データ")
Set sh2 = Worksheets("フリーワード検索")
word = sh2.Range("C1").Value
If word = "" Then
MsgBox ("C1に検索文字を入力してください")
Exit Sub
End If
maxrow1 = sh1.Cells(Rows.Count, "C").End(xlUp).row '最大行取得
sh2.Rows("3:" & Rows.Count).ClearContents
row2 = 3
ctr = 0
For row1 = 3 To maxrow1
If InStr(1, sh1.Cells(row1, "C").Value, word, vbTextCompare) > 0 Then
sh2.Range("A" & row2).Resize(1, 7).Value = sh1.Range("A" & row1).Resize(1, 7).Value
row2 = row2 + 1
ctr = ctr + 1
End If
Next
MsgBox (ctr & "件マッチしました")
End Sub
No.8
- 回答日時:
No7です。
マクロを使用可能にするためには、各利用者のPCのexcelもそのように設定する必要があります。各利用者がマクロを使用したことがないなら、
設定の方法も含めて、各利用者に教えてあげてください。
tatsumaru77さん、この度は色々と親切に教えて頂きありがとうございました。無事に目的の機能を設定して全社に公開することができました。利用者にマクロ有効化の設定も周知しております。
今回実例に沿ったマクロを教えていただき、自分なりに一つひとつの式を確認しながら「こういう設定をするとこの動きになるんだ!」ということが理解できました。マクロ実行ボタンもあんなに簡単に作ることができるとは驚きです。おかげさまでマクロにとても興味が湧きました。これから勉強してみようと思います。改めましてありがとうございました。
No.7
- 回答日時:
>設定の仕方も教えて頂けると大変助かります。
お手数をおかけして大変申し訳ありません。見落としていました。
マクロを登録して実行するためには
あなたのPCのexcelをマクロが実行できるようにしておく必要があります。
こちらを一通り、読んで、実際に確認してみてください。
https://www.tipsfound.com/vba/01004
マクロを含んだブックを保存すると拡張子はxlsmになります。
(例 Book1.xlsm Book1.xlsxでは保存できません)
No.6
- 回答日時:
> 閲覧者がすぐに探せるようにする目的で検索窓を作りたいと考え
> ております。
これだけだと FILTER関数を使わない理由にはならないのですが何
が障害になっているのでしょうか。
というのもマクロでやる場合 誰かが作ったコードをそのまま使っ
たとして 問題が起きた時あなたは修正できるのでしょうか。その時
になってまた質問し直すのでしょうか。
「私が使うのであれば~よいのですが」ということなら知識のない
技術には手を出さない方がいいように思います。
理由がよく分かりませんが FILTER関数をどうしても使いたくない
のであればパラメータクエリでやってもいいと思います。
No.5
- 回答日時:
>可能であれば検索ボタンも作れると嬉しいのですが、ご存知でしたら教えて頂けますでしょうか。
下記を参考にして作成してみてください。
不明点があれば、補足してください。
https://kokodane.com/macro9_2.htm
https://brain.cc.kogakuin.ac.jp/~kanamaru/lectur …
No.1
- 回答日時:
補足要求です。
1.一覧の1行目は見出し行ですか。(検索対象となるのはC列の2行目から)
2.一覧のシート名はなんですか。
3.検索用のシートのレイアウトは添付図でOKですか。
①C1に検索文字列を入力しマクロを実行
②結果は、3行目以降に表示される。
もし、他の要望があれば、補足してください。
4.検索用のシートのシート名はなんですか。
5.一覧のシートで関数を埋め込んであるセルはありますか。
6.一覧のデータはおよそ何件ですか。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルでの検索ボックスの作り方について
Excel(エクセル)
-
Excelのワークシート上に検索窓とボタンを作りたい
Excel(エクセル)
-
エクセル ブックを開いたときに検索ウインドを表示させたい
Excel(エクセル)
-
-
4
エクセルのvbaで検索ボタンを作る
Visual Basic(VBA)
-
5
検索関数を使って検索窓を作成したいんですが・・・
その他(Microsoft Office)
-
6
Excel2016 検索の窓を常時表示させたいのですが、教えてください。
Excel(エクセル)
-
7
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
8
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
9
エクセルで特定の数字等を表示させない方法ってあるのでしょうか?
Excel(エクセル)
-
10
VBA 検索して一致したセルへジャンプさせたい
その他(プログラミング・Web制作)
-
11
経常利益増加率⇒マイナス÷マイナスは?
財務・会計・経理
-
12
Excel表の一覧から、フリーワード検索した項目のみ引っ張ってくるには?
Word(ワード)
-
13
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
14
ワークシート上に検索用のボックスを表示したい
Excel(エクセル)
-
15
Excelで、「特定のセル」に入力したら→「別のセル」に「○」を自動表示する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのシート上のShapeにイベ...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
【エクセル】フリーワード検索...
-
Excel VBAでのWorksheet_Change...
-
エクセルで特定の行だけ行削除...
-
【エクセル】「実行時エラー’10...
-
長い時間かかるマクロが実行中...
-
Excelにて、同じ画像を複数のセ...
-
エクセルファイルを開いた回数...
-
エクセルで至急教えてください!
-
EXCELのダイアログシートって、...
-
エクセルで○をつけるマクロ設定
-
Excelで数字を入れたら対応する...
-
指定値をマクロで検索&シート移動
-
EXCELのマクロで・・・
-
複数のブックに一括で値入力す...
-
エクセル シート内の一番下のセ...
-
自分の専門分野の仕事。初見で...
-
記録したマクロを他のシートに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで複数のシートのクリ...
-
マクロ1があります。 A1のセル...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
セルの一部分だけを太字にする方法
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
excelで画像のハイパーリンクを...
おすすめ情報
さっそくありがとうございます。
補足事項は下記の通りです。どうぞよろしくお願いいたします。
1.一覧の1行目は一覧名(タイトル)が入ります。2行目が見出し行、検索対象となるのはC列3行目以降です。
2.一覧のシート名は「フリーワード検索用データ」
です。
3.添付図のレイアウトでOKです。①フリーワードを入力するセルの番地はC1 ②結果は3行目以降に表示。
4.検索用シートのシート名は「フリーワード検索」です。
5.関数を埋め込んであるセルはありません。
6.一覧のデータは現在1400件ぐらいですが、今後2000件程度に増える見込みです。
コメントありがとうございます。私が使うのであればFILTER関数でもよいのですが、閲覧者がすぐに探せるようにする目的で検索窓を作りたいと考えております。うまく説明ができておらず申し訳ありません。
また、不適切な表現があり大変失礼致しました。ご指摘を受けてその通りだと思いました。
さっそくありがとうございます!私にマクロのスキルが無く、設定の仕方も教えて頂けると大変助かります。お手数をおかけして大変申し訳ありません。
可能であれば検索ボタンも作れると嬉しいのですが、ご存知でしたら教えて頂けますでしょうか。