0
スプレッドシートでVBA関数を実行した後、データを自動的に並べ替えることで、ユーザーはこれを行う必要はありません。次のように私が完了しようとしているソートオプションは以下のとおりです。VBAでのテキスト値によるソート
そして、私のVBAコードは、現在、次のとおりです。
Columns("A:AA").Sort key1:=Range("C1:C1"), order1:=xlAscending, key2:=Range("G1:G1"), order2:=xlAscending, key3:=Range("A1:A1"), order3:=xlAscending, Header:=xlYes
あなたが見ることができるように、列Aは他ものの、適切にソートされます2はFail, Dismissed, Passed
の基準に基づいてソートされず、Critical, High, Medium, Low
私がしようとしていることは可能ですか?これらの並べ替え順序を指定する方法を知っている人はいますか?
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("C:C"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
CustomOrder:="Fail,Dismissed,Passed", _
DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=.Range("G:G"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
CustomOrder:="Critical,High,Medium,Low", _
DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=.Range("A:A"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.SetRange .Range("A:AA")
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
うまくいけば、あなたが欲しいものを行う必要があります。マクロレコーダーを使用して
参照:http://stackoverflow.com/questions/36576540/sorting-using-a-custom-order-in-excel-gives-error-1004 –
マクロレコーダーを使用して、生成されるコードを確認しましたか?あなたは手動でその並べ替えを行うのですか? – YowE3K
Yea Scott、あなたがリンクしている質問は、彼の質問の中で私の質問に答える:P(私は重複しているとは思わないが) –