写一个VBA宏,需求新建文件夹,将旧文件复制改名筛选放入新建文件夹里, 步骤如下:
时间: 2024-03-01 18:55:31 浏览: 140
好的,以下是VBA宏的代码,其中需要你自行修改一些变量以适应你的具体需求:
```
Sub CopyAndFilterFiles()
' 定义变量
Dim sourceFolder As String
Dim destinationFolder As String
Dim oldFileName As String
Dim newFileName As String
Dim fileExtension As String
Dim filterCriteria As String
' 设置变量值
sourceFolder = "C:\OldFolder\" ' 原文件夹路径
destinationFolder = "C:\NewFolder\" ' 新文件夹路径
fileExtension = "*.xlsx" ' 文件扩展名
filterCriteria = "Sales" ' 筛选条件
' 创建新文件夹
MkDir destinationFolder
' 处理每个符合条件的文件
oldFileName = Dir(sourceFolder & fileExtension)
Do While oldFileName <> ""
' 仅处理符合条件的文件
If InStr(oldFileName, filterCriteria) > 0 Then
' 修改文件名
newFileName = Left(oldFileName, Len(oldFileName) - 5) & "_new.xlsx"
' 复制文件到新文件夹
FileCopy sourceFolder & oldFileName, destinationFolder & newFileName
' 进行筛选操作
Workbooks.Open destinationFolder & newFileName
With ActiveSheet
.AutoFilterMode = False
.Range("A1").AutoFilter Field:=1, Criteria1:=">1000"
.Range("A1").CurrentRegion.Copy Worksheets.Add.Range("A1")
.AutoFilterMode = False
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
oldFileName = Dir
Loop
' 完成提示
MsgBox "处理完成!"
End Sub
```
请将上述代码复制到 VBA 编辑器中 (按 Alt + F11 打开),并将其中的变量值修改为你的具体需求。在运行宏之前,请务必备份你的原始文件,以防不测。
阅读全文