excel - I am trying to copy values from multiple workbooks into one worksheet -
i trying use macro copy multiple cells 1 worksheet in 1 workbook master worksheet. created macro using record tool when try run in different workbook first part of code works different workbook, other parts refer original sheet. see macro keeps activating specific window ("vincent...") wondering how can define selected worksheet variable , perform rest of activates using variable ?
range("f4:f14").select selection.copy windows("combined spreadsheet.xlsx").activate range("b" & rows.count).end(xlup).offset(1, 0).select selection.pastespecial paste:=xlall, operation:=xlnone, skipblanks:=false _ , transpose:=true windows("vincentcain107_intra1_vd1_rudd.xlsx").activate range("h4:h14").select application.cutcopymode = false selection.copy windows("combined spreadsheet.xlsx").activate range("l" & rows.count).end(xlup).offset(1, 0).select selection.pastespecial paste:=xlall, operation:=xlnone, skipblanks:=false _ , transpose:=true windows("vincentcain107_intra1_vd1_rudd.xlsx").activate range("n4:n14").select application.cutcopymode = false selection.copy windows("combined spreadsheet.xlsx").activate range("v" & rows.count).end(xlup).offset(1, 0).select selection.pastespecial paste:=xlall, operation:=xlnone, skipblanks:=false _ , transpose:=true windows("vincentcain107_intra1_vd1_rudd.xlsx").activate range("r4:r14").select application.cutcopymode = false selection.copy windows("combined spreadsheet.xlsx").activate range("af" & rows.count).end(xlup).offset(1, 0).select selection.pastespecial paste:=xlall, operation:=xlnone, skipblanks:=false _ , transpose:=true windows("vincentcain107_intra1_vd1_rudd.xlsx").activate range("s4:s14").select application.cutcopymode = false selection.copy windows("combined spreadsheet.xlsx").activate range("ap" & rows.count).end(xlup).offset(1, 0).select selection.pastespecial paste:=xlall, operation:=xlnone, skipblanks:=true _ , transpose:=true
i think can clean code bit. here example:
sub joinarray() dim master worksheet, source worksheet, copycols() variant, pastecols() variant, integer set master = workbooks("combined spreadsheet").worksheets(1) set source = workbooks("vincentcain107_intra1_vd1_rudd").worksheets(1) copycols = array("f", "h", "n", "r", "s") pastecols = array("b", "l", "v", "af", "ap") = 0 ubound(copycols) source.range(copycols(i) & "4:" & copycols(i) & 14).copy master.range(pastecols(i) & master.rows.count).end(xlup).offset(1, 0).pastespecial paste:=xlall, operation:=xlnone, skipblanks:=false, transpose:=true next end sub notes:
- set references worksheets upfront
- if know columns want copy , paste can define them in array reference
Comments
Post a Comment