Excel VBA activate worksheet -


i need activate specific worksheet. code meant create worksheets specif name. need paste worksheet these newly created worksheets. code i'm using below. i'm having hard time activating newly created worksheet paste want.

sub octo()  'dim ws worksheet     dim ki range     dim listsh range     workbooks.open ("c:\users\dash\dropbox\randika\misc\emmash timesheets\timesheet.xlsx")     worksheets("ppe 05-17-15")         set listsh = .range("b4:b" & .cells(.rows.count, "b").end(xlup).row)     end      on error resume next     each ki in listsh         if len(trim(ki.value)) > 0             if len(worksheets(ki.value).name) = 0                  worksheets.add(after:=worksheets(worksheets.count)).name = ki.value 'open template     workbooks.open ("c:\users\dash\dropbox\randika\misc\emmash timesheets\octo_template.xls")     range("a1:l31").select     selection.copy      worksheets(ki.value).activate          if thisworkbook.saved = false         thisworkbook.save     end if             end if         end if     next ki  end sub 

i think need.
been mentioned chris, there no need activate or select. hope following code solve problem.

option explicit dim mytemplateworkbook workbook dim mydataworkbook workbook dim mytemplateworksheet worksheet dim mydataworksheet worksheet dim mynewdataworksheet worksheet dim currentrange range dim listrange range  sub addwsandgetdata()  set mytemplateworkbook = workbooks.open("c:\users\lengkgan\desktop\testing\mytemplate.xlsx") set mytemplateworksheet = mytemplateworkbook.sheets("template") set mydataworkbook = workbooks.open("c:\users\lengkgan\desktop\testing\mydata1.xlsx") set mydataworksheet = mydataworkbook.sheets("ppe 05-17-15") set listrange = mydataworksheet.range("b4:b" & mydataworksheet.cells(rows.count, "b").end(xlup).row) application.screenupdating = false  on error resume next each currentrange in listrange if len(trim(currentrange.value)) > 0     if len(mydataworksheet(currentrange.value).name) = 0      worksheets.add(after:=worksheets(worksheets.count)).name = currentrange.value     set mynewdataworksheet = mydataworkbook.sheets(activesheet.name)     mynewdataworksheet.range("a1:l31").value = mytemplateworksheet.range("a1:l31").value      if mydataworkbook.saved = false         mydataworkbook.save     end if      end if end if next currentrange mytemplateworkbook.close (false) 'close template without saving end sub 

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -