我想将工作簿中的一些工作表复制到另一个工作簿中。我不希望从我的源工作簿中复制任何公式或链接。我只需要数据。我想用vbscript来实现这个目的。任何人都可以指导我这样做。
这是我尝试通过执行工作表副本来使其工作,但不幸的是它也复制了公式。
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts=False
Set objWorkbook1= objExcel.Workbooks.Open("SourceFile.xlsx")
set objWorkbook2=objExcel.Workbooks.Add
set sheetsToCopy=objWorkbook1.Sheets(Array("Sheet1","Sheet2","Sheet3"))
sheetsToCopy.Copy objWorkbook2.Sheets(1)
objWorkbook1.save
objWorkbook2.saveAs("TargetFile.xlsx")
objWorkbook1.close
objWorkbook2.close
objExcel.DisplayAlerts=True
set objExcel=nothing
答案 0 :(得分:1)
尝试替换
sheetsToCopy.Copy objWorkbook2.Sheets(1)
有这样的事情:
i = 1
For each wks in sheetsToCopy
If objWorkbook2.Sheets.Count < i Then objWorkbook2.Sheets.Add , objWorkbook2.WorkSheets(objWorkbook2.WorkSheets.Count)
'adds new worksheet to end of file to keep sheet count in tact
wks.Cells.Copy
With objWorkbook2.Sheets(i)
.Range("A1").PasteSpecial -4163 '--> numeric constant for PasteValues
.Name = wks.Name
End With
i = i + 1
Next
唯一的问题是确保新工作簿中有足够的工作表。您可以写一张支票,查看有多少张,如果我是&gt;然后在复制前添加一张纸。