0
我发现code in this discussion这对于将Excel工作表导出为新工作簿非常有用。我已经发布了我目前在下面使用的代码版本。作为新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
你搜索如何为值只复制,以及(因为你找到了其他有用的代码)?一般来说,在SO和互联网上有很多像这样的问题。 –
@ScottHoltzman感谢您的回应。我发现很多有用的代码粘贴为值,但我没有任何运气只是复制值。由于上面的代码不使用粘贴命令,我想知道如何继续。我很欣赏你的任何想法。 –
在复制工作表本身后,只需将这些方法应用于工作表上的已使用单元格即可。可以是'Copy | PasteSpecial xlValues'或'.Value = .Value' –