返回首页
当前位置: 主页 > Excel教程 > Excel VBA教程 >

excel利用VBA从已关闭的工作簿中获取数据

时间:2012-07-19 22:02来源:Office教程学习网 www.office68.com编辑:麦田守望者

如果要从一个已关闭的工作簿中获取数据,可以用下面的方法来实现:

1.定义一个自定义函数

按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入下列自定义函数,:

Private Function GetDataFromClosedWorkbook(path, file, sheet, ref)
'从已关闭的工作簿中获取数据
Dim arg As String
'确保文件存在
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "文件不存在"
Exit Function
End If
'创建参数
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetDataFromClosedWorkbook = ExecuteExcel4Macro(arg)
End Function

上述自定义函数的参数分别为:

path:为已关闭的工作簿的路径

file:已关闭的工作簿名称

sheet:工作簿中的工作表名称

ref:所引用的单元格

2.使用自定义函数

例如可以使用下面的代码从“h:\mydoc\book1.xls”工作簿“Sheet1”工作表的A1:L12区域中读取数据,并写入当前活动工作表的A1:L12区域:

Sub Test()
p = "h:\mydoc"
f = "book1.xls"
s = "Sheet1"
Application.ScreenUpdating = False
For r = 1 To 100
For c = 1 To 12
a = Cells(r, c).Address
Cells(r, c) = GetDataFromClosedWorkbook(p, f, s, a)
Next c
Next r
Application.ScreenUpdating = True
End Sub

------分隔线----------------------------
标签(Tag):excel excel2007 excel2010 excel2003 excel技巧 excel教程 excel实例教程 excel2010技巧
------分隔线----------------------------
推荐内容
猜你感兴趣