
ひとつのフォルダの中にファイルが複数あります。これらのファイルを開かずに文字列を検索し、検索対象の文字がある行をまどめてひとつのファイルに抽出したいです。
例:Aフォルダ内にファイル1、ファイル2、ファイル3、、、と複数のファイルがある。ファイルのフォーマットはすべて同じでデータのみが異なる。ファイルにはシートは一つのみ。
ファイルのイメージは
A B C D
1行目 名称 価格 味 評価 ←全ファイル共通
2行目 いちご 100円 おいしい A
3行目 りんご 200円 まずい C
・
・
・
これらのファイルから、例えば「いちご」という文字が含まれているセルがある行を抽出して一覧を作りたいです。
もし可能であれば、検索条件として、
一行に 「いちご」かつ「A」を含む や「いちご」または「おいしい」を含む など の絞込みができる機能があれば助かります。
マクロは初心者のため、自分でこのようなものを作ることができません。どうぞお知恵をおかしください。よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
No.2のyorisinです。
バッチはExcelではなく、超お手軽なプログラムと思ってください。
たとえば今回の例では、アスタリスク(*)の中をメモ帳にコピーして、
拡張子を[bat]で保存すればこれでプログラムの完成です。
********************
@echo off
echo 検索結果>result.csv
type %2 | find "%1">>result.csv
echo 検索終了
@pause
********************
このプログラムを動かす場合には、コマンドプロンプトを開き、
(スタートメニュー→プログラム→アクセサリ→コマンドプロンプト)
黒い画面に保存したバッチファイル(拡張子=bat)をドラッグアンドドロップ
→半角スペースを入れて検索したい文字を入力
→半角スペースを入れて検索対象のCSVファイルをドラッグアンドドロップ
→エンターキー
で、自動的に検索したい文字列を含む行を出力します。
No.2
- 回答日時:
ファイルをCSVファイルで出力し、バッチで検索してみてはどうでしょうか?
このようなバッチで指定した文書のある行だけを別ファイルに出力できます。
@echo off
echo 検索結果>result.csv
type %2 | find "%1">>result.csv
echo 検索終了
@pause
上記内容のバッチを、作成し検索するファイルと同じ場所に置いて、
コマンドプロンプトから
[バッチファイル名] [検索文字列] [検索するファイル名]
とすれば、result.csvに検索文字列の含まれる行全てが出力されます。
ExcelデータのCVS出力は[ファイル名を指定して保存]から選択できます。
ご親切にありがとうございました。
バッチというのがよくわからないため私にはちょっと難しいようです。もっとエクセルを勉強してみたいと思います。
No.1
- 回答日時:
開かずに取得する方法を存じませんので、開いたファイルが見えないようにして取得してみました。
「いちご」はA列にあるものとしています。
まとめるファイルの標準モジュールにコピペしてやってみてください。
まとめるファイルは取得されるファイルと同一フォルダに保存してください。
Sub test01()
Application.ScreenUpdating = False '画面更新を一時停止
Set mb = ThisWorkbook 'このブックをmbとする。
myfdr = ThisWorkbook.Path
fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索
Do Until fname = Empty '全て検索
If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ
Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。
With wb.ActiveSheet 'wbの開かれたシートについて
x = .Cells(Rows.Count, "A").End(xlUp).Row 'A列最終行をxに代入
For i = 1 To x '1~xまで繰り返し
If .Cells(i, "A").Value = "いちご" Then '値がヒットしたら
n = n + 1
.Rows(i).Copy 'コピー
mb.Sheets(1).Rows(n).PasteSpecial 'このブックの最初のシートに貼り付け
Application.CutCopyMode = False
End If
Next i
End With
wb.Close (False) '保存の有無を聞かずに保存しないで閉じる
End If
fname = Dir 'フォルダ内の次のExcelブックを検索
Loop '繰り返す
Application.ScreenUpdating = True '画面更新一時停止を解除
Set mb = Nothing
Set wb = Nothing
End Sub
お丁寧にありがとうございました。参考にさせていただきます。
質問の書き方が悪かったのですが、検索する語はいちご以外にもいろいろあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
【至急】エクセルで複数のファイルから文字列を検索、行全てを抽出する
Excel(エクセル)
-
csvファイルを開かずに文字を検索し行を抽出したい
Visual Basic(VBA)
-
-
4
ブックを開かずに、フォルダ内にある複数ブックの、特定セルの値を抽出した
Excel(エクセル)
-
5
ファイルを閉じたままの外部参照で最終行の行数取得
Visual Basic(VBA)
-
6
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
7
バッチファイルで特定の文字列の抽出
その他(Microsoft Office)
-
8
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
9
Excel内での検索結果をシートに出力したい
Excel(エクセル)
-
10
一番多く表示のある値(文字列)を、Excel関数で抽出したい
Excel(エクセル)
-
11
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
12
エクセル関数>参照ファイル名をセルから呼び出す
Excel(エクセル)
-
13
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
14
バッチで特定文字が含まれる先頭行を取得したい
Windows Me・NT・2000
-
15
Excelのセルの内容をコマンドプロンプトで実行
Visual Basic(VBA)
-
16
バッチファイルでExcelを読み取り専用で開きたい
Excel(エクセル)
-
17
VBA ブックを開かずにブック内のデータを取得する方法
Visual Basic(VBA)
-
18
出来るか出来ないかを表す熟語は、「可否」。 するかしないかを表す熟語は、何でしょうか?
日本語
-
19
エクセル条件付書式で指定の時間が過ぎていたらフォントの色を変える
Excel(エクセル)
-
20
Excelの関数について、特定の文字を入れると斜線や線を入れることは出来ますか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
Excel 2枚目のブックが開かな...
-
MATLABでcsvファイルを読み込も...
-
複数のtxtの特定部分を抽出し、...
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
エクセルを上書き保存したのに...
-
EXCELで上書き保存しないと反映...
-
エクセル 列の最大数はIV?
-
エクセルを開いたときのシート
-
メモ帳で開く設定を元に戻したい。
-
エクセルでCSVファイルとして保...
-
エクセルでファイルを閉じても...
-
エクセルで数値の上3桁で切捨...
-
エクセルのカメラ機能を、700個...
-
エクセル文書を保存したらメモ...
-
エクセルで作業時間数や残業時...
-
エクセルで複数のブックで「元...
-
いきなりPDFでPDFファイルを開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
CPU使用率が100%となっ...
-
Excel 2枚目のブックが開かな...
-
PhotoshopでExcelのファイルが...
-
エクセルで他のファイルのセル...
-
VBAで.docのみを抽出
-
エクセル開けない 灰色です。
-
shuffleに入れた「音楽データで...
-
EXCEL 新規ブックのアクティブ...
-
MATLABでcsvファイルを読み込も...
-
エクセルマクロ 数式【VLOOKUP...
-
エクセルのファイルが開けない
-
複数のtxtの特定部分を抽出し、...
-
エクセルのファイルを開くこと...
-
フォルダー内の特定excelファイ...
-
ファイル内にある数字の出現回...
-
Excel2000のセルの書式設定メニ...
-
autocad LT 外部参照一覧表の「...
-
エクセルでファイル名やシート...
おすすめ情報