1
私はいくつかの基準でデータをソートするソートコードを持っています。しかし、増加する順番ではなく、毎回4つずつ増加するはずです。例として、私が数0、1、4、5、8、および9があるかもしれませんが、私は彼らが0、4、8としてリストされたいた後、1、5、9データを4の増加でソートする
Dim num As Range
Dim sortcode As Range
Dim sortnum As Range
Dim firstsort As Range
rangevalue = ("I2:I" & rlastrow)
Set firstsort = Range(rangevalue)
rangevalue = ("L2:L" & rlastrow)
Set sortcode = Range(rangevalue)
rangevalue = ("J2:J" & rlastrow)
Set sortnum = Range(rangevalue)
wr.Sort.SortFields.Clear
wr.Sort.SortFields.Add Key:=firstsort _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
wr.Sort.SortFields.Add Key:=sortcode _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
wr.Sort.SortFields.Add Key:=sortnum _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wr.Sort
.SetRange Range("A1:L" & rlastrow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
はそれが可能ですsortnumフィールドで自分のコードを変更するには、順序を増やすのではなく4を増やす必要がありますか?
'= MOD(originalnumber、4)'を計算したヘルパー列を追加し、元の数値よりも高い優先度で4の法をソートすることができます。 – YowE3K
YowE3Kの提案を使用するか、各n番目の番号を見つけて検出する関数を使用して、各行がこれに編成された新しいスプレッドシートを作成するのが最適かもしれません – Maldred