|
こんにちは
作業列に、同じコード毎に入力順を振る数式をセットしてソートします。
同じコードは最大2つまでとしています。
作業列はR列としてます。
データは11行目からで、項目名は無しとしています。
Sub test1()
Dim i As Long
Dim r As Range
Const j As Long = 17
i = Cells(Rows.Count, 1).End(xlUp).Row
Set r = Range("A11", Cells(i, j))
With r.Offset(, j).Columns(1)
Application.Calculation = xlCalculationManual
.Formula = "=IF(COUNTIF(A11:A$" & i & ",A11)=2," & _
"MAX(OFFSET(A10:A$11,0," & j & "))+2," & _
"OFFSET(A$11,MATCH(A11,A10:A$11,0)-1," & j & ")-1)"
.Cells(1, 1).Formula = "=COUNTIF(A11:A$" & i & ",A11)"
Application.Calculation = xlCalculationAutomatic
.Value = .Value
r.Resize(, r.Columns.Count + 1).Sort _
key1:=r(1, 1).Offset(, j), Order1:=xlAscending
.ClearContents
End With
End Sub
|
|