求助:同文件夹下,从未打开的工作簿"矿井建设单位工程统一名称表",工作表"工程名称"的D列取值,到当前工作簿"分项工程汇总表",工作表"分项工程汇总"的M列
同文件夹下,从未打开的工作簿"矿井建设单位工程统一名称表",工作表"工程名称"的D列取值,到当前工作簿"分项工程汇总表",工作表"分项工程汇总"的M列,同时隐藏m列.
请老师修改代码,谢谢!!!
Sub Silent_open1()
Dim myApp As New Application, wkSht As Worksheet
'隐藏Excel
myApp.Visible = False
'打开数据文件,并指定工作表对象
Set wkSht = myApp.Workbooks.Open(ThisWorkbook.Path & "\矿井建设单位工程统一名称表.xls").Sheets(1)
(m:m) = wkSht.(d:d)'(m:M)是当前工作簿的第一个工作表的m列,
'关闭Excel
myApp.Quit
Set wkSht = Nothing
Set myApp = Nothing
End Sub
[解决办法]
没有调试,应该差不多
Sub Silent_open1() Dim objWS,objAWS As Worksheet dim objWB as workbook '既然已经打开了excel,所以不需要新建excel的application,直接用现有的就好了,否则进程中出现两个excel还不好处理 set objaws = application.activeworksheet '打开数据文件,并指定工作表对象 Set objWB= application.Workbooks.Open(application.activeWorkbook.Path & "\矿井建设单位工程统一名称表.xls") set objws = objwb.Sheets(1) objWS.range("m:m").copy objAWS.range("d:d").paste '(m:M)是当前工作簿的第一个工作表的m列, '关闭Excel myApp.Quit Set wkSht = Nothing Set myApp = NothingEnd Sub