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:

  1. set references worksheets upfront
  2. if know columns want copy , paste can define them in array reference

Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

django - CSRF verification failed. Request aborted. CSRF cookie not set -