vba提取其他指定的工作薄中某个指定的工作表数据

如题所述

Sub UsingTheFormula()
Dim Temp As String
Temp = "'" & ThisWorkbook.Path & "\[abc.xls]Sheet1'!"
With Sheet1.Range("A1:C1") '取abc.xls工作簿Sheet1工作表("A1:C1")单元格数据
.FormulaR1C1 = "=" & Temp & "RC"
.Range("A2:C2") = .Value ' 数据放到本工作簿Sheet1("A2:C2") 中
End With
End Sub追问

呃,
有些不满意的地方首先复制过来的数据丢失了原来文件内的格式(单元格格式,条件格式....)第2很多没有数据的单元格复制进来之后都是0而且也占用了单元格..我想最好能够不用指定被复制文件所含有内容的范围,直接复制内其sheet1中或其他sheet的内部所有内容到要求工作薄中(起始位置始终为A1)

追答

Sub HideApplication()
Dim Sht As Worksheet
Dim Temp As String
Temp = ThisWorkbook.Path & "\abcd.xls"
Set Sht = Workbooks.Open(Temp).Sheets(1)
With Cells.Select
Cells.Copy
End With
ThisWorkbook.Activate
Cells.Select
ActiveSheet.Paste
Application.DisplayAlerts = False
Windows("abcd.xls").Activate
ActiveWindow.Close
End Sub

追问

感觉不是很满意看起来文件打开了,我想要那种看不见文件打开的代码,这样能提高速度,减少运行时间。

追答

看不见文件打开只能取单元格的数据,你要取包括原来文件内的格式(单元格格式,条件格式....)只能采用拷贝,而拷贝又只能打开文件才能进行,所以你的要求可能实现不了。

温馨提示:答案为网友推荐,仅供参考
相似回答