资源描述:
《Vba读取已关闭的Excel工作薄数据》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用Vba读取已关闭的Excel工作薄数据到当前工作表单元格之简单范例范例环境: 在F:盘根目录下,存在一工作薄,名称为“成绩表.xls”,其对应的路径是:“F:成绩表.xls”; 该工作薄第一个工作表名称是:Sheet1,里面存放的是学生期末考试成绩,其中,E列从E3开始,就是学生的考试成绩; 下面我们要实现的是,在关闭F:成绩表.xls情况下,打开Excel软件,新建一工作薄,在其工作表中的指定单元格,读取F:成绩表.xls中的指定的成绩数据进行填充; ①:在新建的工作表中直接按下组合键:Alt+F11,打开MicrosoftVisualBasic窗口;如果打开的
2、窗口没有出现代码窗口,那么,请在当前窗口执行操作:“视图”→“代码窗口”; ②:在代码窗口中输入如下的代码:PrivateFunctionGetValue(path,filename,sheet,ref) '从关闭的工作薄返回值 DimMyPathAsString '确定文件是否存在 IfRight(path,1)<>""Thenpath=path&"" IfDir(path&filename)=""Then GetValue="无法找到指定的Excel文件" ExitFunction EndIf '创建公式 MyPath
3、="'"&path&"["&filename&"]"&sheet&"'!"&Range(ref).Range("A1").Address(,,xlR1C1) '执行EXCEL4宏函数 GetValue=Application._executeExcel4Macro(MyPath)EndFunction'函数参数说明'-----------------------------------------------------------------'path:文件路径'filename:文件名称'sheet:工作表名称'ref:单元格区域'--------------------
4、---------------------------------------------SubGetCloseXlsValue() Range("C3").Value=GetValue("F:","成绩表.xls","Sheet1","E8")EndSub 如下图: 上述代码的功能是:读取F:成绩表.xls中E8单元格的数据填充到当前EXCEL的C3单元格中; 上述代码的诠释已做说明,不再阐述! 之后直接按下F5运行代码,或点击代码运行按钮执行代码的操作,返回EXCEL窗口,即可看到填充效果; 知识扩展: 如何对关闭的工作薄数据进行求和再填充到当前工作表? 可
5、将Range("C3").Value=GetValue("F:","成绩表.xls","Sheet1","E8") 改为:Range("C3").Value=GetValue("F:","成绩表.xls","Sheet1","E8")+GetValue("F:","成绩表.xls","Sheet1","E9")+GetValue("F:","成绩表.xls","Sheet1","E10") 这样,对E8,E9,E10三个单元格进行相加求和之后,再填充过来; 如果想填充其他单元格数据到当前工作表的其他单元格,只需要修改来处即可: ①:Range("C
6、3").Value,修改C3 ②:GetValue("F:","成绩表.xls","Sheet1","E8"),修改盘符,文件名,工作表名,E8单元格 如果想使用更智能的办法,必须使用循环语句来控制,本例暂且不作介绍;Excel不打开工作薄读取数据另一示例程序设计相关2009-04-2408:46:41阅读100评论0字号:大中小PrivateSubCommandButton1_Click()'导入其他料单统计表数据OnErrorResumeNextaa="要从第"&asrd&"行开始导入数据吗?"&vbLf&vbLfaa=aa&"本操作的过程如下:"&vbLfaa=aa&"第
7、1步导入用料数据;"&vbLfaa=aa&"第2步导入定位符数据;"&vbLfaa=aa&"第3步导入材料数据."&vbLfv=MsgBox(aa,65,"导入数据")Ifv=1Thenfiletoopen=Application.GetOpenFilename("Excel97~2003(*.xls),*.xls,Excel2007(*.xlsx),*.xlsx",,"选择要导入数据的料单统计表")'得到导入数据文件路径Iffiletoopen=Acti