|
VBA功能强大,用途广泛,值得研究学习!
本文介绍如题所示的操作过程;
范例环境:
在F:\盘根目录下,存在一工作薄,名称为“成绩表.xls”,其对应的路径是:“F:\成绩表.xls”;
该工作薄第一个工作表名称是:Sheet1,里面存放的是学生期末考试成绩,其中,E列从E3开始,就是学生的考试成绩;
下面我们要实现的是,在关闭F:\成绩表.xls情况下,打开Excel软件,新建一工作薄,在其工作表中的指定单元格,读取F:\成绩表.xls中的指定的成绩数据进行填充;
①:在新建的工作表中直接按下组合键:Alt+F11,打开Microsoft Visual Basic窗口;如果打开的窗口没有出现代码窗口,那么,请在当前窗口执行操作:“视图”→“代码窗口”;
②:在代码窗口中输入如下的代码:
Private Function GetValue(path, filename, sheet, ref) ' 从关闭的工作薄返回值 Dim MyPath As String '确定文件是否存在 If Right(path, 1) <> "\" Then path = path & "\" If Dir(path & filename) = "" Then GetValue = "无法找到指定的Excel文件" Exit Function End If '创建公式 MyPath = "'" & path & "[" & filename & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1) '执行EXCEL4宏函数 GetValue = Application.ExecuteExcel4Macro(MyPath) End Function
'函数参数说明 '----------------------------------------------------------------- 'path:文件路径 'filename:文件名称 'sheet:工作表名称 'ref: 单元格区域 '----------------------------------------------------------------- Sub GetCloseXlsValue() Range("C3").Value = GetValue("F:\", "成绩表.xls", "Sheet1", "E8") End Sub
如下图:

上述代码的功能是:读取F:\成绩表.xls中E8单元格的数据填充到当前EXCEL的C3单元格中;
上述代码的诠释已做说明,不再阐述!
之后直接按下F5运行代码,或点击代码运行按钮执行代码的操作,返回EXCEL窗口,即可看到填充效果;
知识扩展:
如何对关闭的工作薄数据进行求和再填充到当前工作表?
可将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("C3").Value ,修改C3
②:GetValue("F:\", "成绩表.xls", "Sheet1", "E8"),修改盘符,文件名,工作表名,E8单元格
如果想使用更智能的办法,必须使用循环语句来控制,本例暂且不作介绍; [VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用 [C语言系列]使用C#实现ADSL自动拨号 [Web开发]狂人采集器规则使用详解 [电脑技术]windows7快捷键使用大全 [办公软件]PowerPoint模板使用经验之谈 [办公软件]如何在PowerPoint中使用(插入)Media Player控件播… [办公软件]如何在PowerPoint中使用(插入、创建)书签及书签的… [办公软件]如何在PowerPoint中插入(使用)条形码 [办公软件]PowerPoint做交互课件之弃用VBA [办公软件]如何在PowerPoint中制作模板并使用模板
|