すべてのワークブックの列Aをフィルタリングするためにループを実行しようとしています(これらは同じですが、列Aも同じです)。 空のセルをろ過するフィルターとして、すべてのセルを表示します。 多くのフォルダ(50以上)がありますので、ループは非常に便利で、コードの次のステップで重要です。Loop to unfilter multiple ExcelワークブックVBA
私は1つのフォルダのために動作するコードがあります。
`Sub unfilterr()
Dim y As Workbook, myfile, FolderPath, path
Dim ws As Excel.Worksheet
Set y = Workbooks.Open("Z:\VBA\Copie de Devis_65 Version
avec G35.xlsx")
With y.Worksheets("Para RF")
If Not y.Worksheets("Para RF").AutoFilter Is Nothing Then
y.Sheets("Para RF").Range("A1").AutoFilter Field:=1
End If
End With
End Sub`
となりましループをやろうとした:
`Sub unfilter1()
Dim y As Workbook, myfile, FolderPath, path
Dim ws As Excel.Worksheet
'## Open workbooks first:
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
FolderPath = "Z:\VBA\Test\"
path = FolderPath & "*.xls*"
myfile = Dir(FolderPath & "*.xls*")
Do While myfile <> ""
Set y = Workbooks.Open(path) 'I put path instead of myfile because I have error if I put myfile
Set ws = y.Worksheets("Para RF")
'With ws
If Not ws.AutoFilter Is Nothing Then
y.Sheets("Para RF").Range("A1").AutoFilter Field:=1
End If
'End With
myfile = Dir()
y.Close saveChanges:=True
Loop
MsgBox ("Task Complete")
End Sub
あなたはこのループに問題が何であるかを教えてくださいすることができます! 私はテストフォルダ内の4つのワークブックで試しています!最初のものだけがフィルタリングされず、他のものはフィルタリングされません。ループは、フォルダ内の最初のブックのみをリペアしているようです。
このループではエラーメッセージは表示されませんが、結果は満足できません。
ありがとうございました。
乾杯!
私はそれを試しました!それは動作しませんでした!エラーメッセージと変更はありません:( –
これは完璧にここで動いていますあなたはマックではありませんか? –
私はそれを見つけました!あなたの助けに感謝します:) –