写一个EXCEL宏,写一个EXCEL宏,复制文件夹位置里 C:\Users\DELL\Desktop\ZTE PL\ORG_FILES的工作表文件放到C:\Users\DELL\Desktop\ZTE PL\NEW_PL文件夹里,并且将新文件名里INV-字符替换成PL-重命名,查找替换C1单元格内容,将COMMERCIAL INVOICE替换成PACKING LIST,查找替换E4单元格里的内容,将E4单元格里CI字符串换成ZI字符串,查找替换C4单元格内容,将Invoice No. 替换成 PACKING LIST No.,查找替换C5单元格内容,将Invoice Issue Date替换成PACKING LIST Issue Date,查找替换E22单元格内容,将GROSS WEIGHT(KGS)替换E22单元格所有内容,查找替换F22单元格内容,将NET WEIGHT(KGS)替换F22单元格所有内容,查找替换A35单元格内容,用TOTAL: PACKAGES ONLY替换A35单元格内容,删除第A34和F4单元格内容.保存工作表,提示运行已完成.
时间: 2023-08-16 12:07:44 浏览: 133
以下是可以实现您所需功能的宏代码:
```
Sub CopyAndRename()
' 定义变量
Dim SourceFolder As String
Dim DestFolder As String
Dim FileName As String
Dim NewFileName As String
Dim WS As Worksheet
' 定义文件路径
SourceFolder = "C:\Users\DELL\Desktop\ZTE PL\ORG_FILES\"
DestFolder = "C:\Users\DELL\Desktop\ZTE PL\NEW_PL\"
' 循环处理源文件夹中的工作表文件
FileName = Dir(SourceFolder & "*.xlsx")
Do While FileName <> ""
' 复制工作表文件到目标文件夹
FileCopy SourceFolder & FileName, DestFolder & FileName
' 打开新文件并重命名
NewFileName = Replace(FileName, "INV-", "PL-")
Workbooks.Open Filename:=DestFolder & FileName
ActiveWorkbook.SaveAs Filename:=DestFolder & NewFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
' 打开重命名后的文件
Set WS = Workbooks.Open(DestFolder & NewFileName).Sheets(1)
' 查找替换C1单元格内容
WS.Cells.Replace What:="COMMERCIAL INVOICE", Replacement:="PACKING LIST", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换E4单元格里的内容
WS.Cells.Replace What:="CI", Replacement:="ZI", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换C4单元格内容
WS.Cells.Replace What:="Invoice No.", Replacement:="PACKING LIST No.", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换C5单元格内容
WS.Cells.Replace What:="Invoice Issue Date", Replacement:="PACKING LIST Issue Date", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换E22单元格内容
WS.Cells.Replace What:="GROSS WEIGHT(KGS)", Replacement:="NET WEIGHT(KGS)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换F22单元格内容
WS.Cells.Replace What:="NET WEIGHT(KGS)", Replacement:="GROSS WEIGHT(KGS)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换A35单元格内容
WS.Range("A35").Value = "TOTAL: PACKAGES ONLY"
' 删除A34和F4单元格内容
WS.Range("A34").ClearContents
WS.Range("F4").ClearContents
' 保存工作表文件
WS.Parent.Save
' 关闭工作表文件
WS.Parent.Close
' 处理下一个工作表文件
FileName = Dir
Loop
' 提示运行已完成
MsgBox "运行已完成!"
End Sub
```
请按照以下步骤执行宏:
1. 打开 Excel 文件。
2. 按下 ALT + F11 打开 VBA 编辑器。
3. 在 VBA 编辑器中,插入新模块并将上述代码复制到新模块中。
4. 关闭 VBA 编辑器并返回 Excel 文件。
5. 打开要处理的工作簿。
6. 执行宏:按下 ALT + F8,在“宏”对话框中选择“CopyAndRename”,然后单击“运行”按钮。
7. 程序将循环处理工作簿中的所有工作表文件,并在处理完最后一个文件后显示“运行已完成”的消息框。
注意:在执行宏之前,请确保您已备份了要处理的工作表文件,以防止数据丢失。
阅读全文