Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi everyone,
I have a section of code which repeats with minimal changes ( 2 items per repeat) These two items represent the original column copied and the column it is copying to. Is there any way I could simplify my code using an array and looping through it? Thanks for the help, John My original code is as follows: Worksheets(2).Select Columns("X:X").Clear Worksheets(2).Range("P1:P" & lastrow).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("X1"), Unique:=True Columns("X:X").Select Selection.Sort Key1:=Range("X2"), Order1:=xlAscending, Header:=xlYes Selection.Copy Sheets("Menu").Select Columns("I:I").PasteSpecial Paste:=xlPasteValues Worksheets(2).Select Columns("X:X").Clear Worksheets(2).Range("A1:A" & lastrow).Select Selection.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("X1"), Unique:=True Columns("X:X").Select Selection.Sort Key1:=Range("X2"), Order1:=xlAscending, Header:=xlYes Selection.Copy Sheets("Menu").Select Columns("J:J").PasteSpecial Paste:=xlPasteValues |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Is this any better for you
CopyData Worksheets(2).Range("P1"), Worksheets("Menu").Range("I:I") CopyData Worksheets(2).Range("A1"), Worksheets("Menu").Range("J:J") '... Sub CopyData(StartCell As Range, Target As Range) With Worksheets(2) .Select .Columns("X:X").Clear StartCell.Resize(lastrow).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("X1"), _ Unique:=True With .Columns("X:X") .Sort Key1:=Range("X2"), Order1:=xlAscending, Header:=xlYes .Copy End If End With Sheets("Menu").Select Target.PasteSpecial Paste:=xlPasteValues End Sub -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "John Ortt" wrote in message ... Hi everyone, I have a section of code which repeats with minimal changes ( 2 items per repeat) These two items represent the original column copied and the column it is copying to. Is there any way I could simplify my code using an array and looping through it? Thanks for the help, John My original code is as follows: Worksheets(2).Select Columns("X:X").Clear Worksheets(2).Range("P1:P" & lastrow).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("X1"), Unique:=True Columns("X:X").Select Selection.Sort Key1:=Range("X2"), Order1:=xlAscending, Header:=xlYes Selection.Copy Sheets("Menu").Select Columns("I:I").PasteSpecial Paste:=xlPasteValues Worksheets(2).Select Columns("X:X").Clear Worksheets(2).Range("A1:A" & lastrow).Select Selection.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("X1"), Unique:=True Columns("X:X").Select Selection.Sort Key1:=Range("X2"), Order1:=xlAscending, Header:=xlYes Selection.Copy Sheets("Menu").Select Columns("J:J").PasteSpecial Paste:=xlPasteValues |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Far better,
Thanks Bob. "Bob Phillips" wrote in message ... Is this any better for you CopyData Worksheets(2).Range("P1"), Worksheets("Menu").Range("I:I") CopyData Worksheets(2).Range("A1"), Worksheets("Menu").Range("J:J") '... |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
creating an array | New Users to Excel | |||
creating an array | Excel Worksheet Functions | |||
creating an array from range help | Excel Programming | |||
creating an array on the fly | Excel Programming | |||
Creating an array | Excel Programming |