Используйте функцию order
:
set.seed(1)
DF <- data.frame(ID= sample(letters[1:26], 15, TRUE),
num = sample(1:100, 15, TRUE),
random = rnorm(15),
stringsAsFactors=FALSE)
DF[order(DF[,'ID']), ]
ID num random
10 b 27 0.61982575
12 e 2 -0.15579551
5 f 78 0.59390132
11 f 39 -0.05612874
1 g 50 -0.04493361
2 j 72 -0.01619026
14 j 87 -0.47815006
3 o 100 0.94383621
9 q 13 -1.98935170
8 r 66 0.07456498
13 r 39 -1.47075238
15 u 35 0.41794156
4 x 39 0.82122120
6 x 94 0.91897737
7 y 22 0.78213630
Другое решение будет использовать функцию orderBy
из пакета doBy:
> library(doBy)
> orderBy(~ID, DF)
Просто определите NewLastRow
в столбце D и вычислите RowSize:=NewLastRow - SourceRange.Row + 1
Dim SourceRange As Range
Set SourceRange = Cells(Rows.Count, 2).End(xlUp).Resize(1, 26)
Dim NewLastRow As Long 'get new last row in column D
NewLastRow = Cells(Rows.Count, "D").End(xlUp).Row
SourceRange.AutoFill Destination:=SourceRange.Resize(RowSize:=NewLastRow - SourceRange.Row + 1)
<час> Обратите внимание, что вы говорите «что можно обнаружить в столбце A» но…
Set SourceRange = Cells(Rows.Count, 2).End(xlUp)
… обнаруживает в столбце 2 столбец B!
Если вы хотите обнаружение в столбце A вместо B, вы должны использовать…
Set SourceRange = Cells(Rows.Count, "A").End(xlUp).Offset(ColumnOffset:=1).Resize(1, 26)