|
木有用过这一句Application.GetSaveAsFilename,改了一下,试试看
Sub kong()
On Error Resume Next
Application.ScreenUpdating = False
Dim shp As Shape
Dim wk As Workbook
Set wk = ThisWorkbook
Dim arr(1 To 10)
Dim i
Dim j
i = 1
j = 1
Do While i < wk.Worksheets.Count + 1
Set sh2 = wk.Worksheets(i)
If sh2.CodeName = "Sheet12" Or sh2.CodeName = "Sheet13" Or sh2.CodeName = "Sheet14" Then
If sh2.CodeName = "Sheet12" Then
Dim fileSaveName
fileSaveName = sh2.Range("$j1") & ".xlsx"
If sh2.Range("$j1") = False Then
MsgBox "文件名空白!"
Exit Sub
End If
End If
arr(j) = sh2.Name
j = j + 1
End If
i = i + 1
Loop
wk.Sheets(Array(arr(1), arr(2), arr(3))).Copy
For Each sht In wk.Worksheets
With sht.UsedRange
.Value = .Value
End With
For Each shp In sht.Shapes
shp.Delete
Next
Next
'另存位置在 当前工作簿文件夹,自行更改
ActiveWorkbook.SaveAs ThisWorkbook.Path & "/" & fileSaveName, FileFormat:=51
ActiveWorkbook.Close , True
Application.ScreenUpdating = True
MsgBox "呵呵!另保存成功!"
End Sub
|
|