No.5ベストアンサー
- 回答日時:
続けてお邪魔します。
もう一度最初からやり替えてみました。
↓のコードではどうでしょうか?
Sub Sample2()
Dim cnt As Long, wB As Workbook, wS As Worksheet
Dim myPath As String, fN As String
myPath = "保存場所のパス" & "\"
fN = Dir(myPath & "*.xlsx")
Application.ScreenUpdating = False
Do While fN <> ""
Workbooks.Open (myPath & fN)
cnt = cnt + 1
Set wB = ActiveWorkbook
Set wS = wB.Worksheets(1)
With ThisWorkbook.Worksheets("Sheet1").Cells(cnt, "A")
.Value = wS.Range("C8")
.Offset(, 1) = wS.Range("K17")
.Offset(, 2) = wS.Range("K22")
End With
Application.DisplayAlerts = False
wB.Close
Application.DisplayAlerts = True
fN = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
※ ひとつひとつファイルを開いて処理しています。
ファイルが300位あるというコトなので、それなりに時間を要すると思います。m(_ _)m
この回答へのお礼
お礼日時:2018/03/04 19:43
tom04様、最後にアドバイスいただいたコードでうまく行きました。時間は少し要しましたが簡単に300名の集計ができるので助かりました。ありがとうございました。
No.4
- 回答日時:
>エラーになってばかりです。
>実行エラー52 ファイル名または番号が不正ですと出てきます。
おそらく、ファイルが開いていないのではないかと思います。
「保存場所のパス」を今一度確認してみてください。
① 保存場所のフォルダを一度クリックし、フォルダ内のファイルを表示させる(フォルダを開く)
② 表示されたExcelファイル(どのファイルでも構いません)のアイコン上で右クリック
③ プロパティを選択
表示された画面上の「場所」の部分が「パス」になります。
(おそらく「C:\Users\○○\Documents\・・・」のような感じになっているはずです)
画面上でその部分を左から右へずぃ~~~!っとドラッグ → 右クリック → コピー
前回のコードの「保存場所のパス」の部分に貼り付けてみてください。
※ 前後のダブルクォーテーション「"」は必要です。
※ 当然のコトですが、検索したいファイルは同一フォルダ内にある!という前提です。m(_ _)m
No.3
- 回答日時:
すべてのファイルのSheet1が同じように結合されているのですね?
前回の5行を
With ThisWorkbook.Worksheets("Sheet1").Cells(cnt, "A")
.Value = wS.Range("C8")
.Offset(, 1) = wS.Range("K17")
.Offset(, 2) = wS.Range("K22")
End With
にしてみてください。m(_ _)m
No.2
- 回答日時:
No.1です。
>セルが結合してあると出来ないのでしょうか。
どのようにセル結合してあるかによって当然コードも変わってきます。
前回のコードの
With ThisWorkbook.Worksheets("Sheet1").Cells(cnt, "A")
.Value = wS.Range("A1")
.Offset(, 1) = wS.Range("B1")
.Offset(, 2) = wS.Range("C1")
End With
の部分に手を加える必要があるのではないでしょうか?m(_ _)m
No.1
- 回答日時:
こんばんは!
一例です。
標準モジュールにしてください。
Sub Sample1()
Dim cnt As Long, wS As Worksheet, wB As Workbook
Dim myPath As String, fN As String
myPath = "保存場所のパス" & "\"
fN = Dir(myPath & "*.xlsx")
Application.ScreenUpdating = False
Do Until fN = ""
Workbooks.Open fN
Set wB = ActiveWorkbook
Set wS = wB.Worksheets(1)
cnt = cnt + 1
With ThisWorkbook.Worksheets("Sheet1").Cells(cnt, "A")
.Value = wS.Range("A1")
.Offset(, 1) = wS.Range("B1")
.Offset(, 2) = wS.Range("C1")
End With
wB.Close
fN = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
※ コード内の「保存場所のパス」は実情に合わせてください。
※ ファイルの拡張子は「xlsx」としています。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELファイルが開けない(-_-;)
-
【マクロ】シート名を取得する...
-
Teraマクロで日付ディレクトリ...
-
VLOOKUP関数とネットワークに置...
-
複数のcsvファイルの結合
-
VBAエラーについて
-
EXCELのVBAで画像を選んだ順に...
-
エクセルからスキャナVBAで連動...
-
エクセル:フォルダ内のファイ...
-
Notes 開発で、 excelファイル...
-
ローマ字→カタカナへ変換(エク...
-
Excel VBA のdebug(F8キー) が...
-
コマンドボタンがあるかどうか...
-
コマンドボタンを押すたびに大...
-
マクロ 実行ボタンを押さずに...
-
スクロールしてもボタンを常に...
-
Excel VBA --- コマンドボタ...
-
複数ファイルにある特定のシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
excel INDIRECT 他ファイル参照
-
エクセルファイルから指定した...
-
エディタで効率的な切り出し方法
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
ハイパーリンクで前回値をひき...
-
エクセルからスキャナVBAで連動...
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
エクセルマクロでファイルオー...
-
ミュージックファイルのファイ...
-
エクセルVBAでファイルを連...
-
エクセルVBA+ADOで特定のCSVフ...
おすすめ情報
tom04様、何度かチャレンジしてみましたがうまくいきませんでした。セルが結合してあると出来ないのでしょうか。
アドバイスありがとうございます。
複数Excelブックのsheet1にC8~I9まで結合されているのを集計シートのA1に。K17~T19まで結合されているのを集計シートのB1に。K22~T24まで結合されているのを集計シートのC1に。といったように集計したいです。よろしくお願いします。
エラーになってばかりです。
実行エラー52 ファイル名または番号が不正ですと出てきます。
保存先のパスの間違いなのでしょうか?
その通りにしてみましたら、○○(個人名の為○○にしてます)xlsが見つかりません。ファイル名およびファイルの保存場所が正しいかどうかを確認してください。最近使用したファイルの一覧からファイルを開こうとしている場合は、そのファイル名が変更されていないこと、移動または削除されていないことを確認してください。と表示され、意味が分からず先に進めません。どうかよろしくお願い致します!