将工作表导出为新的Excel文件(仅限值)

时间:2016-07-25 16:35:45

标签: excel-vba vba excel

我发现code in this discussion对于将Excel工作表导出为新工作簿非常有帮助。我已经发布了我目前使用的代码版本。

正如此代码所示,它将所需工作表的内容复制到新工作簿,公式和所有内容。

是否可以修改此代码以仅将值复制到此新工作簿?

我感谢任何人都可以借出的任何见解。

Sub ExportXLSX()

'exports desired sheet to new XLSX file

Dim MyPath As String

Dim MyFileName As String

Dim DateString As String

DateString = Format(Now(), "yyyy-mm-dd_hh_mm_ss_AM/PM")

MyFileName = DateString & "_" & "Whatever You Like"

If Not Right(MyFileName, 4) = ".xlsx" Then MyFileName = MyFileName & ".xlsx"

Sheets("Desired Sheet").Copy

With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Where should we save this?"
    .AllowMultiSelect = False
    .InitialFileName = "" '<~~ The start folder path for the file picker.
    If .Show <> -1 Then GoTo NextCode
MyPath = .SelectedItems(1) & "\"

End With

NextCode:

With ActiveWorkbook
.SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
.Close False

End With

End Sub

1 个答案:

答案 0 :(得分:0)

请参阅已修订的NextCode部分以获取解决方案:

NextCode:    

With ActiveWorkbook
        .ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value '<~~ converts contents of XLSX file to values only
        .SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        .Close False
    End With