
はじめまして。
書籍や過去の質問等を調べましたが、類似するものを見つけられなかったため質問させていただきます。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでスクロールすると文字が...
-
日付が未入力の際はゼロか、空...
-
Excelの「0」だけ非表示、小数...
-
エクセルで条件に一致したセル...
-
VBA セル間のリンク修正につい...
-
エクセルで1月0日と表示される!!
-
エクセルで、加筆修正したセル...
-
Excelのファイル容量が減らない...
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
エクセル マクロ ボタンを押...
-
Excel / 出納帳の繰越の仕方...
-
エクセルについて
-
労基法の週40時間を超える時...
-
シート参照で変数を使いたい(EX...
-
Excelにて、カタカナだけのセル...
-
EXCELのハイパーリンクのセルを...
-
INDIRECT(空白や()がある文字列...
-
Office2021のエクセルで米国株...
-
複数シートの同じセル内容を1シ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
VBA セル間のリンク修正につい...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
Office2021のエクセルで米国株...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
エクセルで、加筆修正したセル...
-
Excelでスクロールすると文字が...
-
エクセルで複写のように自動入...
-
ExcelでTODAY関数を更新させな...
-
(Excel)あるセルに文字を入力...
-
複数シートの同じセル内容を1シ...
-
エクセルで指定のセルのみ完全...
-
エクセル ハイパーリンクで画像...
-
エクセルで複数のシートの同じ...
-
エクセルについて
-
EXCELのハイパーリンクのセルを...
-
エクセルで別シートからの最大...
おすすめ情報