本人因工作需要,编写VBA小程序,本程序要求反复打开、输入数据、保存退出N个文件(每次打开一个文件,保存退出后再打开另一个文件),我希望打开的文件名由一个变量来传递。例如设置FN为变量,其变量值存放一个EXCEL文件的A列中,单元格Cells(1,1)至单元格Cells(100,1)即为需打开的文件名,当我想打开某个文件名时,变量从单元格中取值。
请问打开文件名中包括变量如何实现?即打开的文件名是由变量来控制的。
把文件名放进工作表中,选中单元格执行以下函数,就可以打开相应当单元格中的文件,代码使用了FN变量保存文件名,当前单元格值通过ActiveCell.Value得到,Workbooks.Open为打开EXCEL文件的过程,代码如下:
Sub OpenFile()Dim FN
FN = ActiveCell.Value
Workbooks.Open Filename:=FN
End Sub
效果如下:
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-08-04
"F:\Doc\"这个目录请根据自己的情况修改:
Workbooks.Open Filename:="F:\Doc\" & FN & ".xls"
如果你的单元格中存储的文件名已经有扩展名就直接用:
Workbooks.Open Filename:="F:\Doc\" & FN本回答被提问者采纳
Workbooks.Open Filename:="F:\Doc\" & FN & ".xls"
如果你的单元格中存储的文件名已经有扩展名就直接用:
Workbooks.Open Filename:="F:\Doc\" & FN本回答被提问者采纳
第2个回答 2010-08-05
以下宏的使用方法是选中你要打开的文件名所在的范围,然后执行宏。
它就会依次打开你选中的范围中的那些文件名列表中所列出来的文件。
sub test()
dim tmpCell as range
for each tmpCell in Selection
Workbooks.Open Filename:="F:\Doc\" & tmpCell.value & ".xls"
next
end sub
它就会依次打开你选中的范围中的那些文件名列表中所列出来的文件。
sub test()
dim tmpCell as range
for each tmpCell in Selection
Workbooks.Open Filename:="F:\Doc\" & tmpCell.value & ".xls"
next
end sub