excel - Application defined or object-defined error when opening a second workbook -
i have code open 1st workbook, open 2nd workbook, copy range 1st workbook , paste in 2nd workbook.
sub test() '**variables** dim folderpath string folderpath = "y:\plan_graphs\final\mich_alco_test\files\" dim filetitle string filetitle = "5.xlsx" dim dataworkbook workbook set dataworkbook = application.workbooks.open(folderpath & filetitle) 'dim resultworkbook workbook 'set resultworkbook = application.workbooks.open("y:\plan_graphs\final\mich_alco_test\result.xlsx") dim copyrange range set copyrange = dataworkbook.worksheets("list1").range("a3:f3", range("a3").end(xldown)) copyrange.copy 'resultworkbook.worksheets("1").range("a3").pastespecial paste:=xlpasteformulas end sub but application defined or object-defined error error on line
set copyrange = dataworkbook.worksheets("list").range("a3:f3", range("a3").end(xldown)) when comment lines related second workbook, no error happens. why error happen?
edit: interesting thing is, if define , set copyrange before opening 2nd workbook, works fine... i'm curious of opening 2nd file messes copyrange , why opening file later helps.
it depends workbook have active when run code.
line of code potentially looks @ 2 different workbooks:
set copyrange = dataworkbook.worksheets("list").range("a3:f3", range("a3").end(xldown)).
dataworkbook.worksheets("list").range("a3:f3" - looks @ list sheet in dataworkbook.
range("a3").end(xldown) - looks @ activesheet in resultworkbook when lines aren't commented out.
use:
set copyrange = dataworkbook.worksheets("list").range("a3:f3", dataworkbook.worksheets("list").range("a3").end(xldown))
or
with dataworkbook.worksheets("list") set copyrange = .range("a3:f3", .range("a3").end(xldown)) end
Comments
Post a Comment