在Access VBA中使用xlpastevalues

时间:2018-04-10 13:22:47

标签: excel vba ms-access copy-paste

我在Access中工作,需要从Excel文件中提取数据。该文件非常大,有几张我不需要的表,所以我想从一张表中取出值并将它们放在一个新的工作簿中,以简化/加快以后的计算。目前,它包括格式和值以及我的一些后续宏不工作,即使它们在我手动将值粘贴到新工作表时工作。我尝试直接在Excel中运行它(删除对Excel.Application变量的引用),它工作正常。我是否应该做一些不同的事情,因为这是在Access中运行的?

Private Sub CopyImportFile()
Dim xl As Excel.Application
Dim SourceBook As Excel.Workbook
Dim SourceSheet As Excel.Worksheet
Dim ImportBook As Excel.Workbook
Dim ImportSheet As Excel.Worksheet
Dim SourceSheetPath As String

SourceSheetPath = "File Path"


Set xl = CreateObject("Excel.Application")
Set SourceBook = GetObject(SourceSheetPath)
Set SourceSheet = SourceBook.Worksheets("Data Tape")
Set ImportBook = xl.Workbooks.Add()
SourceSheet.UsedRange.Copy
ImportBook.Sheets(1).Cells(1,1).PasteSpecial Paste:=xlPasteValues
xl.ActiveWorkbook.SaveAs FileName:="New File Path"
SourceBook.Close False
ImportBook.Close
Set xl = Nothing
Set ImportBook = Nothing
Set SourceBook = Nothing
Set ImportSheet = Nothing

0 个答案:

没有答案