下列情况在excer中该运用那个excel基本公式运用?

从关闭的工作簿中取值有多种方法,现将网上收集的整;方法1、使用公式;方法2、使用GetObject函数;方法3、隐藏Application对象;方法4、使用ExecuteExcel4Macro;1、使用公式;如果需要引用的数据不是太多,可以使用公式取得引用;1.SubCopyData_1()2.DimTe;3.Temp=\数据表.xls]Sheet1'!;5
从关闭的工作簿中取值有多种方法,现将网上收集的整理向大家共享。 方法1、使用公式 方法2、使用GetObject函数 方法3、隐藏Application对象 方法4、使用ExecuteExcel4Macro方法 方法5、使用SQL连接 其它收集的相关内容 1、使用公式 如果需要引用的数据不是太多,可以使用公式取得引用工作簿中的工作表数据,如下面的代码所示。 1. Sub CopyData_1() 2.
Dim Temp As String 3.
Temp = \数据表.xls]Sheet1'!\4.
With Sheet1.Range(\5.
.FormulaR1C1 = \6.
.Value = .Value 7.
End With 8. End Sub 代码解析: CopyData_1过程在工作表中写入公式引用“数据表”中同一位置单元格中的数据。 第3行代码将引用工作簿的路径赋给变量Temp。 第5行代码在作表中写入公式引用数据。 第6行代码将公式转换为数值。
2、使用GetObject函数
(返回目录)
使用GetObject函数来获取对指定的Excel工作表的引用,如下面的代码所示。 1. Sub CopyData_2() 2.
Dim Wb As Workbook 3.
Dim Temp As String 4.
Application.ScreenUpdating = False 5.
Temp = ThisWorkbook.Path & \数据表.xls\6.
Set Wb = GetObject(Temp) 7.
With Wb.Sheets(1).Range(\8.
Wb.Close False 10.
End With 11.
Set Wb = Nothing 12.
Application.ScreenUpdating = True 13. End Sub 代码解析: CopyData_2过程使用GetObject函数来获取“数据表”工作簿中的数据。 第4行代码关闭屏幕更新加快运行速度。 第5行代码将引用工作簿的路径赋给变量Temp。 第6行代码使用Set语句将GetObject函数返回的对象赋给对象变量Wb。 GetObject函数返回文件中的ActiveX对象的引用,语法如下: GetObject([pathname] [, class]) 参数pathname是可选的,包含待检索对象的文件的全路径和名称。如果省略,则class参数是必需的。 参数class是可选的,代表该对象的类的字符串。 Class参数的格式为appname.objecttype,语法的各个部分如表格 1所示。 部分 描述 appname objecttype
必需的,提供该对象的应用程序名称。 必需的,待创建对象的类型或类。 表格 1 Class参数语法的各个部分 第7行到第10行代码,当GetObject函数指定的对象被激活之后,就可以在代码中使用对象变量Wb来访问这个对象的属性和方法。 其中第7、8行代码将“数据表”工作簿中的第1张工作表已使用区域的数据赋给本工作表的单元格,第9行代码关闭“数据表”工作簿,使用GetObject函数返回对象的引用时,虽然在窗口中看不到对象的实例,但实际上是打开的,所以需用Close语句将其关闭。 第12行代码开启屏幕更新。
3、隐藏Application对象(返回目录)
通过隐藏Application对象来模拟不打开工作簿取数,如下面的代码所示。 1. Sub CopyData_3() 2.
Dim myApp As New Application 3.
Dim Sh As Worksheet 4.
Dim Temp As String 5.
Temp = ThisWorkbook.Path & \数据表.xls\6.
myApp.Visible = False 7.
Set Sh = myApp.Workbooks.Open(Temp).Sheets(1) 8.
With Sh.Range(\9.
Range(\10.
End With 11.
myApp.Quit 12.
Set Sh = Nothing 13.
Set myApp = Nothing 14. End Sub 代码解析: CopyData_3过程隐藏Application对象来模拟不打开工作簿取数。 第2行代码使用New关键字隐式地创建一个Application对象。 第6行代码将新创建的Application对象的Visible属性设置为False,使之隐藏。 第7行代码使用Open方法打开“数据表”工作簿(关于Open方法请参阅技巧42 ,因为工作簿是使用新创建的、隐藏的Application对象打开的,所以在窗口中是不可视的。 第8行到第10行代码将“数据表”工作簿中的第1张工作表已使用区域的数据赋给本工作表的单元格。 第11行代码使用Quit方法退出新打开的Excel程序。
4、使用ExecuteExcel4Macro方法(返回目录)
使用ExecuteExcel4Macro方法可以做到不打开工作簿的情况下获取其他工作薄中指定工作表的数据,如下面的代码所示。 1. Sub CopyData_4() 2.
Dim RCount As Long 3.
Dim CCount As Long 4.
Dim Temp As String 5.
Dim Temp1 As String 6.
Dim Temp2 As String 7.
Dim Temp3 As String 8.
Dim R As Long 9.
Dim C As Long 10.
Dim arr() As Variant 11.
Temp = \数据表.xls]Sheet1'!\12.
Temp1 = Temp & Rows(1).Address(, , xlR1C1) 13.
Temp1 = \14.
CCount = Application.ExecuteExcel4Macro(Temp1) 15.
Temp2 = Temp & Columns(\16.
Temp2 = \17.
RCount = Application.ExecuteExcel4Macro(Temp2) 18.
ReDim arr(1 To RCount, 1 To CCount) 19.
For R = 1 To RCount 20.
For C = 1 To CCount 21.
Temp3 = Temp & Cells(R, C).Address(, , xlR1C1) 22.
arr(R, C) = Application.ExecuteExcel4Macro(Temp3) 23.
Range(\26. End Sub 代码解析: CopyData_4过程使用ExecuteExcel4Macro方法获取“数据表”工作薄中指定工作表的数据。 第14、16行代码使用ExecuteExcel4Macro方法执行Counta函数取得“数据表”工作薄中指定工作表的行数和列数合计。 ExecuteExcel4Macro方法执行一个Microsoft Excel 4.0宏函数,然后返回此函数的结果,语法如下: expression.ExecuteExcel4Macro(String) 参数expression是可选的,返回一个Application对象。 参数String是必需的,一个不带等号的Microsoft Excel 4.0宏语言函数,所有引用必须是像R1C1这样的字符串。 因为Microsoft Excel 4.0 宏不在当前工作簿或工作表的环境中求值,所有的引用都是外部引用,所以无需打开引用工作簿但是需要明确指定工作簿名称。 第18行代码使用ReDim语句为动态数组arr重新分配存储空间。 第19行到第24行代码循环取值,将“数据表”工作薄中指定工作表的数据赋给动态数组arr。 第25行代码将动态数组arr的值赋给工作表的单元格。
5、使用SQL连接(返回目录)
使用SQL建立与工作簿的连接,查询数据记录后复制到当前工作表中,如下面的代码所示。 1. Sub CopyData_5() 2.
Dim Sql As String 3.
Dim j As Integer 4.
Dim R As Integer 5.
Dim Cnn As ADODB.Connection 6.
Dim rs As ADODB.Recordset 7.
With Sheet5 8.
.Cells.Clear 9.
Set Cnn = New ADODB.Connection 10.
With Cnn 11.
.Provider = \12.
.ConnectionString = \13.
& \数据表\14.
End With 16.
Set rs = New ADODB.Recordset 17.
Sql = \18.
rs.Open Sql, Cnn, adOpenKeyset, adLockOptimistic 19.
For j = 0 To rs.Fields.Count - 1 20.
.Cells(1, j + 1) = rs.Fields(j).Name 21.
R = .Range(\23.
.Range(\24.
End With 25.
rs.Close 26.
Cnn.Close 27.
Set rs = Nothing 28.
Set Cnn = Nothing 三亿文库包含各类专业文献、应用写作文书、各类资格考试、专业论文、行业资料、外语学习资料、74Excel_VBA从关闭的工作簿中取值多种实现方法(代码)等内容。 
 EXCELVBA从已关闭的工作簿中取值_计算机软件及应用_...本程序代码中, “C:\ 文件夹名\文件.xls”、&...如何关闭多个excel工作簿... 1页 免费喜欢...  Excel VBA――从外部工作簿取数的5种方法(原创整理)_计算机软件及应用_IT/计算机_专业资料。VBA―――从外部工作簿取数的 种方法( Excel VBA――从外部工作簿...  VBA 从已关闭的excel工作簿中取值_计算机软件及应用_IT/计算机_专业资料。vba 记录一段可口的好代码:从已关闭的工作簿中取值从已关闭的工作簿中取值 Sub GetData...  有许多种从关闭的工作簿中取值的方法,下面是其中之...下面的 VBA 代码从关闭的工作 簿中获取值。 Sub ...() Cells.Select '全选工作表 Selection.Clear...  在Excel的使用过程中,经常需要引用其他工作簿的数据,...下取得其他工作簿中的数据,有以下几种方法可以实现...第 9 行代码关闭“数据表”工作簿,使用 GetObject...  或看似不打开工作簿的情况下取 得其他工作簿中的数据,有以下几种方法可以实现...数据赋给本工作表的单元格,第 9 行代码关闭“数据表”工 作簿,使用 Get...  示例代码 2: 已前面的代码相似,下面的 VBA 代码从...的一个实用函数,其作用是从关闭的 工作簿中取值。...,但是利用 Excel 处理连接文件的功 能,可以实现。...  第 4 行中的代码显 示一个消息框。 第 5 行中的代码关闭当前活动工作簿, ...图 1-5 名称对话框中的工作表级名称 此外,使用 VBA 也可以实现同样的操作,...

我要回帖

更多关于 excel怎么运用公式 的文章

 

随机推荐