写一个EXCEL宏,查找工作表中sheet名字叫中兴通讯成品运输提货单(空运)的sheet,复制生成新的工作表,并将所有公式内容转换成非公式,用B3单元格内容重命名,新的表格文件用 中兴通讯成品运输提货单(空运) 和B3单元格内容 命名,新的工作表放到桌面
时间: 2024-03-15 16:47:57 浏览: 93
根据excel的档号进行分件,新建档号下的分级文件并将原先的文件,拷贝到新命名的文件夹下。
以下是实现上述功能的EXCEL宏代码:
```
Sub CopySheetAndConvertFormula()
Dim desktopPath As String
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") '桌面路径
Dim sheetName As String
sheetName = "中兴通讯成品运输提货单(空运)"
Dim newSheetName As String
newSheetName = sheetName & " - " & Range("B3").Value '使用B3单元格内容重命名新工作表
Dim newWorkbookName As String
newWorkbookName = desktopPath & "\" & sheetName & " - " & Range("B3").Value & ".xlsx" '新工作表格文件名
Dim found As Boolean
found = False
For Each sht In ActiveWorkbook.Sheets
If sht.Name = sheetName Then '查找要复制的工作表
found = True
sht.Copy After:=Worksheets(Worksheets.Count) '复制工作表
ActiveSheet.Name = newSheetName '重命名新工作表
Exit For
End If
Next sht
If found = False Then '未找到要复制的工作表
MsgBox "找不到名称为" & sheetName & "的工作表"
Exit Sub
End If
For Each cell In ActiveSheet.UsedRange '遍历新工作表中的单元格
If cell.HasFormula Then '如果单元格中有公式
cell.Value = cell.Value '将公式转换为值
End If
Next cell
ActiveWorkbook.SaveAs newWorkbookName '保存新工作表格文件
MsgBox "新工作表格文件已保存为" & newWorkbookName
End Sub
```
将以上代码复制到EXCEL的宏编辑器中,保存后即可在EXCEL中运行该宏。请确保在运行该宏前已经保存了工作表格文件,且B3单元格中有合适的内容。新的工作表格文件将保存在桌面。
阅读全文