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

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

ID:50128168

大小:28.50 KB

页数:2页

时间:2020-03-04

Excel VBA——从外部工作簿取数的5种方法(原创整理).doc_第1页
Excel VBA——从外部工作簿取数的5种方法(原创整理).doc_第2页
资源描述:

《Excel VBA——从外部工作簿取数的5种方法(原创整理).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Excel VBA——从外部工作簿取数的5种方法(原创整理)(2011-02-2514:17:58)ExcelVBA——从外部工作簿取数的5种方法(原创整理)======================================================='1、循环单元格取数,效率最低,不可取,初学者易犯'2、区域相等取数'3、复制粘贴取数'4、借助数组取数——以上4种都需要打开外部工作簿'5、宏表函数取数(不打开工作簿)======================================================

2、=PrivateSubGetValueFromOpenedWorkbook()'打开工作簿取数   MyWorkbookAsWorkbook   DimMyArryAsVariant   SetMyWorkbook=Application.Workbooks.Open("D:DocumentsandSettingsAdministrator.DATACENTER3.000桌面我的工作表.xlsx")   '方法1:   '   DimiAsInteger,jAsInteger   '   n2=MyWorkbook.Sheets.C

3、ount   '   Fori=7To56   '       Forj=4To10   '           Sheets("我的工作表").Cells(i,j)=MyWorkbook.Sheets("我的工作表").Cells(i,j)   '       Nextj   '   Nexti   '方法2:   '   ThisWorkbook.Sheets("我的工作表").Range("d5:j56").Value=MyWorkbook.Sheets("我的工作表").Range("d5:j56").Value   '方法3:  

4、 '   ThisWorkbook.Sheets("我的工作表").Range("d5:j56").Copy   '   MyWorkbook.Sheets("我的工作表").Range("d5").PasteSpecialPaste:=xlPasteValues   '方法4:   MyArry=MyWorkbook.Sheets("我的工作表").Range("d5:j56").Value   ThisWorkbook.Sheets("我的工作表").Range("d5:j56")=MyArry   MyWorkbook.CloseSa

5、veChanges:=False   SetMyWorkbook=NothingEndSub'方法5:SubGetValueFromClosedWorkbook()'不用打开工作簿取数   p="C:DocumentsandSettingsAdministrator.DATACENTER3.000桌面"   f="我的工作表.xlsx"   s="我的工作表"   Application.ScreenUpdating=False   Forr=7To56       Forc=4To10           a=Cells(r,c).

6、Address           Cells(r,c)=GetValue(p,f,s,a)       Nextc   Nextr   Application.ScreenUpdating=TrueEndSubPrivateFunctionGetValue(path,file,sheet,ref)'  从未打开的Excel文件中检索数据   DimargAsString   '  确保该文件存在   IfRight(path,1)<>""Thenpath=path&""   IfDir(path&file)=""Then       Ge

7、tValue="FileNotFound"       ExitFunction   EndIf   '  创建变量   arg="'"&path&"["&file&"]"&sheet&"'!"&_         Range(ref).Range("A1").Address(,,xlR1C1)   '  执行XLM宏   GetValue=ExecuteExcel4Macro(arg)EndFunction

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。