2012-03-19 9 views
0

私はExcelファイル(.xlsxで終わる)でいっぱいのフォルダを持っています。それらのうちの約50があります。フォルダ内の各Excelファイルを繰り返し処理し、行1に空白の行を挿入することはできますか?約1行の追加を自動化することは可能ですか? 50は、フォルダ内のファイルをExcel?

私はこれを手動で行う必要はありません。また、50個のファイルすべてに対して、セルA1に「NEW」という単語を追加したいと思います。これはVBAで可能ですか?

答えて

2

Excelでコントロールブックを作成することができます。これにより、マクロが作成されます。

  • 一つの可能​​性は、あなたがチェックするために、ファイル名のテキストの特定のビットのためのワイルドカードと検索して追加することができ、特定のディレクトリ内のすべてのファイル
  • を介して実行されますDoループ内Dir機能を使用することですあなたが作業したいファイルであれば
  • ルーチンが条件を満たすファイルを見つけたら、を使用してファイルを開き、変更してから&を閉じます。

ここで、ターゲットディレクトリ内のファイルexample

かかわらず、ループの一例は、ここでもう一つの可能​​性はFileSystemObjectを使用してマクロを書くことです

ここで私はそれがあれば&削除を確認したフォルダ内のファイルをループにFSOを使用して定期的に使用するいくつかのコードだ古いであり、そのタイトルに特定の文字列を持っている:

 Function DeleteFilesNotCreatedToday(myTargetFolder As String) 

     Dim myFolder 
     Dim myFile 
     Dim YesterdayDate As Date 

     YesterdayDate = Date 
     Set myFolder = CreateObject("Scripting.FileSystemObject").GetFolder(myMMTargetFolder).Files 
       For Each myFile In myFolder 
         If Left(myFile.Name, 13) = "Daily Summary" Then 
           If DateDiff("s", myFile.datelastmodified, YesterdayDate) < 0 Then 
            Else 
             On Error Resume Next 
             myFile.Delete 
             On Error GoTo 0 
            End If 
         End If 
       Next 
     Set myFolder = Nothing 

     End Function   'DeleteFilesNotCreatedToday 
+0

ありがとうございます。あなたは私が明言できなかったことを明言しました。私が本当にやるべきことは、フォルダ内のすべてのExcelファイルを通してLOOPです。次に、マクロレコーダーの挿入行1行コードを使用して、必要なものを実現することができます。あなたの指導のおかげで、あなたのような人々は、SOをノンコーダーのための素晴らしい学習ツールにしています! – phan

+0

を参考にして、例を見直してから、特定のコードで再度投稿してください。 – whytheq

+0

これらの例のどちらもファイルシステムオブジェクトを使用するためにリンクしていません。 'Dir'はppathで十分です。 – brettdj

1

VBAマクロを使用してファイルを操作し、Workbooks.Open関数を使用して他のファイルを開き、同じコードを実行することができます。

+0

「VBAを使用"解決策ではありません。私はダウンボートをしなかったが、それは緊急の呼び声だった。 – brettdj

+0

「マクロを記録する」という意味ですか? – Gaffi

関連する問題