No.2ベストアンサー
- 回答日時:
丸投げですか(^^;
以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。
勉強になりませんので解説や再修正はしません。もし修正が必要ならご自身でお願いします。
Sub Macro1()
Dim ret
Dim r As Range
Dim adr As String
Dim cnt As Long
Dim psw As Boolean
Dim mySht, adSht, ws As Worksheet
Set mySht = ActiveSheet
ret = Application.InputBox("検索文字列を入力してください")
If TypeName(ret) <> "Boolean" Then
With mySht.Cells
Set r = .Find(ret, LookIn:=xlValues, lookat:=xlPart)
If Not r Is Nothing Then
adr = r.Address
cnt = 1
For Each ws In Worksheets
If ws.Name = "検索結果" & ret Then
psw = True
Exit For
End If
Next ws
If psw Then
Set adSht = ws
adSht.Cells.ClearContents
Else
Set adSht = Worksheets.Add
adSht.Name = "検索結果" & ret
End If
adSht.Cells(cnt, 1).Value = r.Value
adSht.Cells(cnt, 2).Value = adr
Do
Set r = .FindNext(r)
If r.Address = adr Then
Exit Do
Else
cnt = cnt + 1
adSht.Cells(cnt, 1).Value = r.Value
adSht.Cells(cnt, 2).Value = r.Address
End If
Loop
End If
End With
End If
mySht.Activate
End Sub
お礼が遅くなり申し訳ありませんでした。
上記をやってみたらできました!
思ったとおりの結果です。
すごいです。こうやるとできるんですね。
ただ、内容がたしかに理解できていません。
勉強します。
こういったツール(?とよぶのでしょうか)を作成できる
人になりたいと思っています。
本当にありがとうございました。
No.4
- 回答日時:
#3です。
わかりにくかったようでスミマセン。A案・B案ともにそうですが、
>>検索は【エクセルの検索機能で】行う<<
>>【検索結果を】すべて選択する<<
のがポイントです。
Excelの検索機能で[すべて検索]を使うと、
検索ダイアログに検索結果のリストが表示されますよね。
その[結果リスト]の特定の行を選択すると、該当セルが選択されます。
また[結果リスト]上でCtrl+Aを押すと、結果リストのすべての行が選択されます。
つまり、検索でヒットしたセルがすべて選択されます。
A案もB案も、
この[検索でヒットしたセルがすべて選択された状態]で
行うことを想定しています。
*********************
確かに、対象のセルが複数の列に散らばっている場合は、
オートフィルタでは解決できませんね。失礼しました。
(そういう状況やニーズ自体ちょっとイレギュラーな気もしますが)
ただ、書式や数式を対象とした検索ではなく、
単に値を対象として文字列を探すだけであれば、
私なら次のような方向で考えます。
[シート1のA1:AB999の範囲で完全一致検索を行う場合]
適当なシートで、
A1:検索対象の文字、たとえば「ほにゃらら」を入力
B1:=INDEX(1/LARGE((Sheet1!$A$1:$AB$999=$A$1)/(ROW(Sheet1!$A$1:$AB$999)*1000+COLUMN(Sheet1!$A$1:$AB$999)),ROW()),)
として下方にフィル
C1:=ADDRESS(INT(B1/1000),MOD(B1,1000))
として下方にフィル
⇒値が「ほにゃらら」であるセルのセル番地がC列に順に表示される
(Excel2003で動作確認済)
まぁ、これはこれでかなり無理矢理ですし、
#2さんの方法で既に解決しているご様子ですから、
あくまで参考としてお考えください。
ありがとうございました。
関数がIF,SUM,AVRAGE,MAX,MIN、VLOOKUP
くらいしかよくわかっていなくて。。。
上記式が何をしているのかがよくわかりません。。
LARGE関数はその対象範囲(ここではA1からAB999でしょうか)
から大きい順の値をだす関数ですよね。それを1/のあとにいれ、
さらに。。えっと。。。
勉強します。。。
関数の組み合わせってむずかしいです。
どうやってみなさん手につけられていくのですか。。。
No.3
- 回答日時:
[すべて検索]の検索結果は、いかにも書き出せそうな感じがするのですが、
実際やってみると、どうも無理っぽいですね。
●A案:検索結果全体のセル参照を[名前]で記録して数式で書き出す
1.[すべて検索]で検索する([検索方向]:行で検索すること)
2.Ctrl+A で検索結果を全て選択する
3.挿入>名前>定義 で、適当な文字列(例えば"test")を入力してEnter
以下、同じブックの任意のシートで…
4.任意のセル:=CELL("address",test)
とすると、検索結果のセル番地が単一の文字列として返ります。
あるいは…
5.A1セル:1 とする
6.A2セル:=IF(ROWS(INDEX(test,,,A1))=COUNTIF($A$1:A1,A1),A1+1,A1)
として下方にフィル
7.B1セル:=COUNTIF($A$1:A1,A1)
として下方にフィル
8.C1セル:=CELL("address",INDEX(test,B1,,A1))
として下方にフィル
※検索結果のセル番地が順に返ります。
9.D1セル:=INDEX(test,B1,,A1)
として下方にフィル
※検索結果の値が順に返ります。
(Excel2003で動作確認済)
※セル参照全体の長さに制限があるので、
HITしたセルの数が多い場合には、その全てを取得することはできません。
※セルに入力されている数式を取得することはできません、たぶん。
●B案:検索結果のセルを選択してマクロで書き出す
Excelの検索機能にはさまざまなオプションがありますが、
そのすべてをマクロでフォローするのは大変なので、
検索自体は既存の機能を使い、結果を書き出すというアプローチで…。
0.下記のマクロを設置する
1.[すべて検索]で検索する
2.Ctrl+A で検索結果を全て選択する
3.マクロを起動する
動作の概要
選択しているすべてのセルについて、
・セル番地
・値
・(数式が入っていれば)数式
を新規ブックに書き出す。
'-------------↓ ココカラ ↓-------------------
Sub Sample()
Set myCels = Selection
i = 1
With Application.Workbooks.Add.Worksheets(1)
For Each myCel In myCels
.Cells(i, 1) = myCel.Address
.Cells(i, 2) = myCel
If myCel <> myCel.Formula Then
.Cells(i, 3) = "'" & myCel.Formula
End If
i = i + 1
Next myCel
End With
End Sub
'-------------↑ ココマデ ↑-------------------
(Excel2003で動作確認済)
以上ご参考まで。長乱文陳謝。
追記
どのような状況、目的での処理かわからないので断言はしませんけど、
なんとなく「オートフィルタ」で解決しそうな予感が…。
お礼が遅くなり申し訳ありませんでした。
A案については関数がよくわからなくて、何をどうしているかが
わからず試せませんでした、申し訳ありません。
B案についてはためしてみたのですが、私のやり方が悪いのか
求めたい結果が得られませんでした。。。
(ためしてみたところ、全部のセル番地が別ブックに出力
されまして。。。)説明が下手で申し訳ありません。
オートフィルタ。。たしかにそうなんですが、データ量が
莫大なため、いちいちフィルタでみれなくて。。。
(何かよい方法があるのでしょうか。。。)
たとえば、A列からAB列までの中でTESTと入力されているセルの
番地をしりたかったら、いちいちA列からAB列までひとつずつ
オプションで「TEST」でフィルタをかけていく方法しか
知らないのですが。。。。
No.1
- 回答日時:
エクセルVBAの勉強をしないとできません。
一応1つしかないならマクロの記録(置換で採る?)をとれば、どんなコードか判りますが、次々と見つけて見つかったもの全体文字列(数字)を他シートのセルに順次表示していくのは、VBAの中級の技と思います。
勉強する気があれば、WEB検索で「エクセル 検索 VBA Find」で検索し関連記事をじっくり読んで、判らないところを絞って質問したら。
お礼が遅くなり申し訳ありませんでした。
そうですよね。
VBA勉強しなきゃ、、、と思っています。
ご指摘ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
Excel マクロ 検索結果を別シートにコピー
その他(Microsoft Office)
-
EXCELの検索結果を別シートに貼り付けたい
その他(Microsoft Office)
-
エクセルで検索結果を抽出し、別シートにコピーしたい。
Excel(エクセル)
-
-
4
エクセルで、book全体の検索&抽出の方法
Excel(エクセル)
-
5
エクセルの検索機能でコピーペースト出来ません
Excel(エクセル)
-
6
Excelでの検索結果を含む行だけを表示させたい
Excel(エクセル)
-
7
エクセルでファイルを開かずに文字を検索し、行を抽出したい
Excel(エクセル)
-
8
含まない言い方ってどうしたらいいんでしょうか
日本語
-
9
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
10
エクセルのマクロで全シートを検索したい
Excel(エクセル)
-
11
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
12
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
13
パワーポイントの画面がずれる
PowerPoint(パワーポイント)
-
14
エクセルのフィルタオプションで「ある文字列を含まない」条件は?
Excel(エクセル)
-
15
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
16
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
17
IG、ACC、+B、ILL
国産バイク
-
18
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
19
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
20
エクセルである行以下全部を削除する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
エクセル 未入力セルがあると...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
フォントの色を指定して削除出...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで、図形内の文字をセルに...
-
Excel2007 色のカウント (VBA)
-
空白セルを空セルに置き換える...
-
エクセル シート保護された共...
-
Excelでセルをクリックす...
-
エクセルでページ数をあるセル...
-
【EXCEL】先週の月曜日の日付を...
-
[エクセル VBA]テキストファ...
-
セルの値が変ると自動でマクロ...
-
excelで セルの移動時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelでセルをクリックす...
-
Excelで、図形内の文字をセルに...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
セルがクリックされた回数をカ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
ページ内ハイパーリンクの表示...
-
【EXCEL】先週の月曜日の日付を...
-
エクセルでページ数をあるセル...
-
Excel2007 色のカウント (VBA)
おすすめ情報