Vba读取已关闭的Excel工作薄数据Word下载.docx
- 文档编号:18694709
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:11
- 大小:18.39KB
Vba读取已关闭的Excel工作薄数据Word下载.docx
《Vba读取已关闭的Excel工作薄数据Word下载.docx》由会员分享,可在线阅读,更多相关《Vba读取已关闭的Excel工作薄数据Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
Then
GetValue="
无法找到指定的Excel文件"
ExitFunction
EndIf
创建公式
MyPath="
'
&
path&
["
filename&
]"
sheet&
!
Range(ref).Range("
A1"
).Address(,,xlR1C1)
执行EXCEL4宏函数
GetValue=Application._executeExcel4Macro(MyPath)
EndFunction
函数参数说明
-----------------------------------------------------------------
path:
文件路径
filename:
文件名称
sheet:
工作表名称
ref:
单元格区域
SubGetCloseXlsValue()
Range("
C3"
).Value=GetValue("
F:
"
成绩表.xls"
Sheet1"
E8"
)
EndSub
如下图:
上述代码的功能是:
读取F:
\成绩表.xls中E8单元格的数据填充到当前EXCEL的C3单元格中;
上述代码的诠释已做说明,不再阐述!
之后直接按下F5运行代码,或点击代码运行按钮执行代码的操作,返回EXCEL窗口,即可看到填充效果;
知识扩展:
如何对关闭的工作薄数据进行求和再填充到当前工作表?
可将Range("
改为:
Range("
)+GetValue("
E9"
E10"
这样,对E8,E9,E10三个单元格进行相加求和之后,再填充过来;
如果想填充其他单元格数据到当前工作表的其他单元格,只需要修改来处即可:
).Value,修改C3
GetValue("
),修改盘符,文件名,工作表名,E8单元格
如果想使用更智能的办法,必须使用循环语句来控制,本例暂且不作介绍;
Excel不打开工作薄读取数据另一示例程序设计相关2009-04-2408:
46:
41阅读100评论0字号:
大中小
PrivateSubCommandButton1_Click()'
导入其他料单统计表数据
OnErrorResumeNext
aa="
要从第"
asrd&
行开始导入数据吗?
vbLf&
vbLf
aa=aa&
本操作的过程如下:
第1步导入用料数据;
第2步导入定位符数据;
第3步导入材料数据."
v=MsgBox(aa,65,"
导入数据"
)
Ifv=1Then
filetoopen=Application.GetOpenFilename("
Excel97~2003(*.xls),*.xls,Excel2007(*.xlsx),*.xlsx"
,"
选择要导入数据的料单统计表"
)'
得到导入数据文件路径
Iffiletoopen=ActiveWorkbook.FullNameThen'
如果导入自身就停止导入操作
v=MsgBox("
不能导入自身数据"
64,"
文件选择错误"
ExitSub
EndIf
Iffiletoopen=FalseThen'
如果没有选择文件就停止导入操作
没有选择文件,终止本次数据导入操作"
i=Len(filetoopen)'
得到导入数据文件名
WhileMid(filetoopen,i,1)<
IfMid(filetoopen,i,1)="
Then
文件名不能包含空格"
文件名错误"
文件名包含空格就退出
i=i-1
Wend
wenjianming=Right(filetoopen,Len(filetoopen)-i)
va1=0'
导入的用料数据行数
va2=0'
导入的定位符个数
va3=0'
导入的材料个数
n1=0'
空行记录
n2=0'
是否记录空行数
n=2'
导入数据表的操作行数
k1=asrd'
导入数据开始放入的行数
k2=asrd+1
1、导入用料数据"
36,"
数据导入操作开始"
Ifv=7ThenGoTort_1
Worksheets("
用料录入"
).Cells(asrd,2).Formula="
=["
wenjianming&
]用料录入!
R"
n&
C"
1
WhileWorksheets("
).Cells(asrd,2).Value<
begin"
IfWorksheets("
).Cells(asrd,2).Value="
over"
ThenExitSub
Fori=1To6
).Cells(k1+n-1,i).Value="
Next
n=n+1
Ifn>
50Then
a1="
数据源数据有误,是否继续执行下一步导入操作?
a1=a1&
是'
继续导入操作."
否'
终止导入操作."
v=MsgBox(a1,36,"
数据导入中……"
GoTort_1
k1=k1+n-1
k2=k2+n-1
开始导入材料用量数据
0AndWorksheets("
).Cells(k1,i).Formula="
i
).Cells(k1,i).Value=Worksheets("
).Cells(k1,i).Value
).Cells(k1,i).Value=0ThenWorksheets("
).Cells(k1,i).Value="
va1=va1+1
Else
Fori=2To6
).Cells(k2,i).Value="
Ifn1=40Then
有大量空行数据,是否继续执行导入操作?
继续导入数据."
终止导入数据."
取消'
继续导入数据,不再提示."
v=MsgBox(a1,35,"
Ifv=7ThenGoTow10
Ifv=2Thenn2=1
n1=0
).Cells(asrd,2).Value=0Andn2=0Thenn1=n1+1
k1=k1+1
k2=k2+1
w10:
).Cells(k2,1).Value="
导入定位符
rt_1:
2、用料数据导入完毕,是否继续导入定位符?
Ifv=6Then
本表的定位符位置
统计分析"
).Cells(n,18).Value<
n1=2
n2=n1+n-2
]统计分析!
n1&
18
).Cells(asrd,2).Value=Worksheets("
).Cells(asrd,2).Value
).Cells(asrd,2).Value=0ThenWorksheets("
AndWorksheets("
0
).Cells(n2,16).Formula="
16
).Cells(n2,16).Value=Worksheets("
).Cells(n2,16).Value
).Cells(n2,17).Formula="
17
).Cells(n2,17).Value=Worksheets("
).Cells(n2,17).Value+asrd-2
).Cells(n2,18).Formula="
).Cells(n2,18).Value=Worksheets("
).Cells(n2,18).Value
).Cells(Worksheets("
).Cells(n2,17).Value,Worksheets("
).Cells(n2,16).Value).Value="
Then_
).Cells(n2,16).Value).Value=_
va2=va2+1
n1=n1+1
Calldingwei
导入本表中没有的材料
3、定位符数据导入完毕,是否继续导入材料库数据?
Callcailiao
ax=1'
判定是否有不同的材料
ak=0'
判断是否有多个余量系数0没有1有
]材料管理!
1&
4
余量系数1"
Thenak=1'
判断导入材料的版本
Fori=1Toclgeshu
).Cells(asrd,2).Value=cllist(i).clnameThen
ax=0
ExitFor
ax=n
Ifax<
0Then'
导入的材料进行名称排列
axx=yhclgeshu+2
acd1=Left(Worksheets("
).Cells(asrd,2).Value,2)'
得到添加材料名称的前两个字符
acd2=Left(Worksheets("
材料管理"
).Cells(i+1,1).Value,2)'
得到材料管理中材料名称的前两个字符
Ifacd1=acd2Then
).Rows(i+1).InsertShift:
=xlDown
axx=i+1'
插入材料的位置
clgeshu=clgeshu+1
yhclgeshu=yhclgeshu+1
va3=va3+1
).Cells(axx,1).Value=Worksheets("
).Cells(axx,2).Formula="
ax&
2
).Cells(axx,2).Value=Worksheets("
).Cells(axx,2).Value
).Cells(axx,3).Formula="
3
).Cells(axx,3).Value=Worksheets("
).Cells(axx,3).Value
Ifak=0Then'
导入2.3以前版本材料
).Cells(axx,4).Formula="
).Cells(axx,4).Value=Worksheets("
).Cells(axx,4).Value
).Cells(axx,5).Value=1
).Cells(axx,6).Value=1
).Cells(axx,7).Formula="
5
).Cells(axx,7).Value=Worksheets("
).Cells(axx,7).Value
).Cells(axx,8).Formula="
6
).Cells(axx,8).Value=Worksheets("
).Cells(axx,8).Value
).Cells(axx,8).Value=0ThenWorksheets("
).Cells(axx,8).Value="
Else'
导入2.3以后版本材料
).Cells(axx,5).Formula="
).Cells(axx,5).Value=Worksheets("
).Cells(axx,5).Value
).Cells(axx,6).Formula="
).Cells(axx,6).Value=Worksheets("
材料管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vba 读取 关闭 Excel 工作 数据