写一个EXCEL宏,查找工作表中sheet名字叫中兴通讯成品运输提货单(空运)的sheet,复制并放到新的工作表文件里的第一个sheet,并将新工作表所有公式内容转换成非公式,提取新工作簿B3到F3单元格里的信息,新的工作表文件格式用 中兴通讯成品运输提货单(空运) 提取到的信息 命名,并将新的工作表放到桌面
时间: 2024-03-16 14:41:48 浏览: 76
好的,以下是根据你的要求编写的Excel宏代码:
```
Sub CopySheetAndSave()
' 声明变量
Dim wb As Workbook
Dim ws As Worksheet
Dim newWB As Workbook
Dim newWS As Worksheet
Dim sheetName As String
Dim fileName As String
' 获取要复制的工作表名称
sheetName = "中兴通讯成品运输提货单(空运)"
' 遍历所有工作簿,查找指定名称的工作表
For Each wb In Workbooks
For Each ws In wb.Worksheets
If ws.Name = sheetName Then
' 复制工作表到新的工作簿
Set newWB = Workbooks.Add
Set newWS = newWB.Sheets(1)
ws.Copy Before:=newWS
' 将新工作表所有公式转换成非公式
newWS.Cells.Copy
newWS.Cells.PasteSpecial xlPasteValues
' 提取指定单元格的值并命名新工作表文件
fileName = ws.Range("B3").Value & "-" & ws.Range("C3").Value & ".xlsx"
newWB.SaveAs "C:\Users\" & Environ("username") & "\Desktop\" & fileName
' 关闭新工作簿
newWB.Close False
' 退出循环
Exit For
End If
Next ws
If Not newWB Is Nothing Then Exit For
Next wb
End Sub
```
这段宏代码会遍历所有打开的工作簿,查找名称为“中兴通讯成品运输提货单(空运)”的工作表,并将其复制到一个新的工作簿中。然后,它会将新工作表中所有公式转换为非公式,并提取单元格B3到F3中的值来命名新工作表文件。最后,它会将新工作表保存到桌面上。
请注意,在执行此宏代码之前,请确保您已将工作表名称更改为“中兴通讯成品运输提货单(空运)”,并在B3到F3单元格中输入了要提取的信息。此外,如果您希望将新工作表保存到桌面之外的其他位置,请修改代码中的保存路径。
阅读全文