第一范文网 - 专业文章范例文档资料分享平台

Excel VBA - 从外部工作簿取数的5种方法(原创整理)

来源:用户分享 时间:2025/6/7 3:29:55 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Excel VBA——从外部工作簿取数的5种方法(原创整理)

(2011-02-25 14:17:58)

Excel VBA——从外部工作簿取数的5种方法(原创整理) ======================================================= '1、循环单元格取数,效率最低,不可取,初学者易犯 '2、区域相等取数 '3、复制粘贴取数 '4、借助数组取数

——以上4种都需要打开外部工作簿 '5、宏表函数取数(不打开工作簿)

======================================================= Private Sub GetValueFromOpenedWorkbook() '打开工作簿取数

MyWorkbook As Workbook Dim MyArry As Variant

Set MyWorkbook = Application.Workbooks.Open(\Settings\\Administrator.DATACENTER3.000\\桌面\\我的工作表.xlsx\ '方法1:

' Dim i As Integer, j As Integer ' n2 = MyWorkbook.Sheets.Count ' For i = 7 To 56 ' For j = 4 To 10

' Sheets(\我的工作表\MyWorkbook.Sheets(\我的工作表\ ' Next j ' Next i

'方法2:

' ThisWorkbook.Sheets(\我的工作表\MyWorkbook.Sheets(\我的工作表\ '方法3:

' ThisWorkbook.Sheets(\我的工作表\ ' MyWorkbook.Sheets(\我的工作表\

Paste:=xlPasteValues '方法4:

MyArry = MyWorkbook.Sheets(\我的工作表\ ThisWorkbook.Sheets(\我的工作表\ MyWorkbook.Close SaveChanges:=False Set MyWorkbook = Nothing End Sub '方法5:

Sub GetValueFromClosedWorkbook() '不用打开工作簿取数

p = \桌面\ f = \我的工作表.xlsx\ s = \我的工作表\

Application.ScreenUpdating = False For r = 7 To 56 For c = 4 To 10

a = Cells(r, c).Address

Cells(r, c) = GetValue(p, f, s, a) Next c Next r

Application.ScreenUpdating = True End Sub

Private Function GetValue(path, file, sheet, ref) ' 从未打开的Excel文件中检索数据 Dim arg As String ' 确保该文件存在

If Right(path, 1) <> \ If Dir(path & file) = \ GetValue = \ Exit Function End If

' 创建变量

arg = \ Range(ref).Range(\ ' 执行XLM 宏

GetValue = ExecuteExcel4Macro(arg) End Function

Excel VBA - 从外部工作簿取数的5种方法(原创整理).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5u3yw9z5dk5s23r4ajkt_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top