Selecting range with loop in VBasic
There are lots of different ways to get that range to sort.
One way:
Option Explicit
Sub testme()
Dim iRow As Long
Dim RngToSort As Range
For iRow = 2 To 10000
Set RngToSort = Worksheets("sheet1").Cells(iRow, "A").Range("c1:L1")
With RngToSort
.Sort Key1:=.Cells(1), _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End With
Next iRow
End Sub
I could have used:
Set RngToSort = Worksheets("sheet1").Cells(iRow, "A").offset(0,2).resize(1,10)
Starting with the cell in column A, shift (offset) 2 columns to get to column C
and then resize to 1 row by 10 columns.
or just start with column C and avoid the .offset.
Set RngToSort = Worksheets("sheet1").Cells(iRow, "c").resize(1,10)
or
with worksheets(Sheet1")
set rngtosort = .range(.cells(irow,"C"),.cells(irow,"L"))
end with
with rngtosort ....
SeanF74 wrote:
I have a list of 10,000 lines of data starting from row 2 in Excel 2007. I
would like to select a range of cells from each line individually (columns C
through L) for each of the 10k lines and sort horizontally. I am trying to
use a do loop to do this, but I cannot set the range correctly with a
variable (say c) to create a dynamic range. Here is a simplified view of
what I have:
c = 2
Do While c < 15000
Range("C2:L2").Select
c = c +1
Loop
What syntax do I use in the Range.Select argument using the c variable to
move down a line each time I run through the Do Loop?
Thanks,
--
Dave Peterson
|