2017-05-17 11 views
0

私はこのサイトを初めて使い、VBAを学んでいます。前処理済みファイルをスキップしてフォルダ内のExcelファイルをループする(VBA)

基本的には、フォルダ内のExcelファイルをループ処理し、後で1つの共通のExcelファイルで処理するコードを作成しました。このファイルは、A列の処理ファイル名と記録したいすべてのデータ次の細胞に存在する。

私は多くのXSLファイルを扱っており、フォルダは常に新しいファイルで更新されているので、マクロが起動して前処理されたときにファイルをもう一度やり直すのが一番簡単です新しいファイルを記録するために、ファイルを保存します。

アドバイスありがとうございました

答えて

1

ファイルが既に処理されているかどうかを確認する関数を追加してください。

Function FileAlreadyProcessed(filename As String) As Boolean 
    Dim r As Range, matchRes As Variant 
    Set r = ThisWorkbook.Sheets(1).Range("A:A") 

    matchRes = Application.Match(filename, r, 0) 
    FileAlreadyProcessed = (Not IsError(matchRes)) 
End Function 

この関数は、Col Aにファイル名を検索します。見つかった場合、関数はtrueを返し、そうでない場合はfalseを返します。あなたのループに小切手を入れてください

if not FileAlreadyProcessed(fileName) then 
    ... do your processing 
endif 
+0

タクシーはたくさん、それは動作します! –

関連する問題