プロが教えるわが家の防犯対策術!

フォルダの中に入っている複数のエクセルファイルに、
各ファイルの一番左(または一番右)にあるシートをコピーし、
各ファイル内に12か月分のシート(12枚のシート)を追加で作成したいと思います。
202404、202405、202406・・・
のようにシート名を付けて、フォルダ内にあるすべてのファイルに対して
上記の処理を行うVBAは可能でしょうか。

A 回答 (3件)

#2のマクロについて、Sheets("Sheet1")が存在するか不明なのでSheets(1)の方がいいでしょう。

    • good
    • 2

可能です。



フォルダー内のすべてブックを開いて同じ処理を行う
https://www.helpforest.com/excel/emv_sample/ex10 …

12か月分のシート(12枚のシート)を追加で作成
たとえば、こんな感じ

For yMonth = 202401 To 202412
Sheets("Sheet1").Copy after:=ActiveSheet
ActiveSheet.Name = CStr(yMonth)
Next

ファイルを開いたり、保存終了するのはご自身でやってみてください。
    • good
    • 0

こんにちは



>フォルダ内にあるすべてのファイルに対して
>上記の処理を行うVBAは可能でしょうか。
説明ではっきりしないところはありますが、処理内容としては普通に問題なく可能でしょう。
一つのブックに対して処理できるものを作成し、それを各ファイルでループする仕組みにしておけば宜しいでしょう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A