|
こんにちは。かみちゃん です。
>コピー&ペーストを終えた段階で、報告されたブックの名前に
>処理した日付を加えて、別の2.というフォルダに保存をする。
>例)○○報告フォーム【A支店】というブックを
> →○○報告フォーム【A支店】20051127
以下のような感じでできると思います。
Constステートメントも、少しだけ記述を変えて工夫をしています。
Dim MyF As String
Const Ph As String = "C:\Documents and Settings\tie\デスクトップ\"
MyF = Dir(Ph & "1.\*.xls")
Application.ScreenUpdating = False
Do Until MyF = ""
Workbooks.Open Ph & "1.\" & MyF
'<処理内容>コピー&ペースト
ActiveWorkbook.SaveAs Filename:= _
Ph & "2.\" & Replace(ActiveWorkbook.Name, ".xls", "") & Format(Date, "yyyymmdd"), _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.Close True
MyF = Dir()
Loop
Application.ScreenUpdating = True
>全国の支社から、定期的に送られてくる報告資料の数値を集約するマクロを
>作成しようと努力しています。
>1.というフォルダに毎回報告されてくるエクセルのブックを保存していきます。
>
>集約する一覧表にマクロを作成しています。
>
>1.に存在する数多くのブックを開き、特定箇所をコピーして
>一覧表にペーストします。
私も同様のことをしていますが、特定のシートの特定のセルのだけ持ってくる
のであれば、ファイルを開かなくても、ブックへのリンク参照式を埋め込んで
取得するという方法もあります。
その場合は、ファイルをコピーすればいいだけです。
でも、いずれにしても、名前が違うだけで内容が同じのブックを保存するのは、
効率いいのでしょうか?
たぶん、処理したかどうかの管理だとは思いますけど・・・
処理前のブックを残しておく必要があるのかな?と思いました。
|
|