
はじめまして。
書籍や過去の質問等を調べましたが、類似するものを見つけられなかったため質問させていただきます。
Xというエクセルファイルで、Xと同一フォルダ内にある、ファイル名に特定の文字列(例えば「月報」)を含んだ全てのエクセルファイルの、特定の文字列(例えば「○年○月」)を含んだ全シートの、一定のセル範囲をひとつのシートにまとめたいと思っています。
X内のコマンドボタンで動かす予定ですが、複数のボタンになると自分では思っています(ボタンAでファイル名の取得、ボタンBでシートの取得、ボタンCでセルに貼り付け、みたいな感じで。ボタンの数は特に制限はないです)
要点としては
a, 定定の文字列を含んだファイル名の取得
b, aで取得したファイル内の特定の文字列を含んだ全てのシート内の一定のセル範囲の取得(シートの数はファイルによる。必ずしも1つというわけではない。)
c. bで取得した一定のセル範囲のデータを、1つのシートにまとめる。
あとはこれらのデータをtxtやcsvなどに出力できるようにするつもりです。
私がやってできたのは、同一フォルダ内にあるファイル名に特定の文字列を含むファイルの全てのファイル名を指定したセルに吐き出すことしかできませんでした。
なんか、ややこしい表現かもしれませんが、ご指導お願いします。
環境はxp、エクセル2003です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
試しにマクロを組んでみました。
使えるところがあれば利用してください。
Sub test()
Dim myPath As String
Dim myDir As String
Dim myFile As String
Dim myWS As Worksheet
myPath = "D:\Exceldata\"
myFile = Dir(myPath, vbNormal)
Application.ScreenUpdating = False
Do Until myFile = ""
If myFile <> "." And myFile <> ".." Then
If (GetAttr(myPath & myFile) And 16) <> 16 Then
If myFile Like "教えて*" Then
Workbooks.Open myDir & myFile
For Each myWS In Workbooks(myFile).Worksheets
If myWS.Name Like "Sheet*" Then
MsgBox myFile & vbCrLf & _
myWS.Name & vbCrLf & _
"A1のデータ: " & myWS.Range("A1").Value
End If
Next
Workbooks(myFile).Close SaveChanges:=False
End If
End If
End If
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
回答いただきありがとうございます。
>myPath = "D:\Exceldata\"
は、フォルダを入れればいいのですよね?
>If myFile Like "教えて*" Then
にはファイル名に含まれる文字列を入れればいいんですよね?
色々試してみましたがなかなか動きません。
というか私がコードを理解していないようです・・・・
もう少し色々試してみたいと思います。
ありがとうございます。
あと、すいません。使っているのはエクセル2000でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Office2021のエクセルで米国株...
-
Excelの「0」だけ非表示、小数...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
Excelで複数シートの選択セルを...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
エクセル マクロ ボタンを押...
-
エクセルで1月0日と表示される!!
-
Excelでスクロールすると文字が...
-
別シートのセルを絶対参照にする
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
iPhoneのExcelアプリで、別のシ...
-
複数シートの同じセル内容を1シ...
-
エクセルでセルの移動について
-
Rangeメソッドは失敗しました。...
-
エクセルで特定のセルの値を別...
-
VBAでシート全体の塗りつぶしを...
-
条件書式でリスト内以外の単語...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
マクロ 新しいシートにデータ...
-
エクセルで複写のように自動入...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
ハイパーリンク で『指定された...
-
エクセルで20万行あるシート...
-
エクセルで特定のセルの値を別...
-
INDIRECT(空白や()がある文字列...
おすすめ情報