Private Function 读取闭簿数据函数(路径, 簿名, 表名, 单元格区域) '从一个已关闭的工作簿中获取数据
Application.ScreenUpdating = False
'确保文件存在
If Right(路径, 1) <> "\" Then 路径 = 路径 & "\"
If Dir(路径 & 簿名) = "" Then
MsgBox "文件不存在"
Exit Function
End If
arg0 = "'" & 路径 & "[" & 簿名 & "]" & 表名 & "'!"
目标起始地址 = ActiveCell.Address
R1 = ActiveCell.Row '日标地址所在行
C1 = ActiveCell.Column '日标地址所在列
Range(单元格区域).Select
R0 = ActiveCell.Row '活动单元格所在行
C0 = ActiveCell.Column '活动单元格所在列
CN = Selection.Columns.Count '占用列数
RN = Selection.Rows.Count '占用行数
For R = 0 To RN - 1
For C = 0 To CN - 1
RC1 = Cells(R0 + R, C0 + C).Address(, , xlR1C1) '数据源地址 R1C1样式相对地址 Range("A1").
'从数据源读取后写入当前表
arg = arg0 & RC1
'例子: arg = 'F:\业务日报\prg[数据转换.xls]资产'!R4C2
'第一种方法(含下面1行):
'Cells(R1 + R, C1 + C) = ExecuteExcel4Macro(arg) '什么函数?
'第二种方法(含下面3行):
Cells(R1 + R, C1 + C) = "=" & arg '其实就是=公式引用
RC2 = Cells(R1 + R, C1 + C).Address
Range(RC2) = Range(RC2).Value 'wen98编制
Next C
Next R
Range(目标起始地址).Select
Application.ScreenUpdating = True
End Function
Sub 读取闭簿数据_例子() '从一个已关闭的工作簿中获取数据
读取闭簿数据函数 "F:\业务日报\prg", "数据转换.xls", "资产", "A1:H28" '使用自定义函数
End Sub
|