i have code setup copy 1st sheet , rename after sheet1. after that, supposed select new sheet, delete first 20 rows on new sheet, , sort column k, on new sheet. , doing that, doing on 1st worksheet instead.
worksheets(1).copy after:=worksheets(1) activesheet.name = "new name" worksheets(2).select rows("1:20").delete columns("a:u").sort key1:=range("k2"), order1:=xldescending, header:=xlyes
i have tried activating worksheet several different ways, none working. help!
* * figured out, running in worksheet , not new module.... everyone! , no more using .select if can avoid it!
using activate or select or activatesheet specify instance of want confusing way work in vba. great example of that. i'd suggest avoiding 'active' or 'select' unless absolutely essential. there's need it.
try:
worksheets(1).copy after:=worksheets(1) worksheets(2).name = "new name" worksheets(2).rows("1:20").delete worksheets(2).columns("a:u").sort key1:=range("k2"), order1:=xldescending, header:=xlyes
edit:
worksheets(2).columns("a:u").sort key1:=range("k2"), order1:=xldescending, header:=xlyes
should be:
worksheets(2).columns("a:u").sort key1:=worksheets(2).range("k2"), order1:=xldescending, header:=xlyes
(we didn't specify sheet choose k2 from)
Comments
Post a Comment