前提・実現したいこと
VBA初心者です。独学で学んで半年程度です。
ExcelVBAにて、ユーザー定義での並び替えを行いたいです。
Excel2013
A列~G列:顧客情報
H列:顧客管理番号
I列:パターン番号A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3
※最大でB3までで、それ以下の場合もあります。
※並び替えのキー
J列~W列:個数などの情報や、配送元の住所など
I列キーとして、上記パターン番号順に並べ替えたいです。
発生している問題・エラーメッセージ
VBAを実行すると
ユーザー設定の並び替えで
「A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3」の順序は保存できているのですが、
実行すると、
「A,A1,A2,A3,A4,A5,A6,A7,A8,A9,B,B1,B2,B3,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,」
の既定の昇順に並び替えられてしまう
該当のソースコード
ExcelVBA
Sub ボタン1_Click()
Worksheets("CC").Activate
'ユーザー定義での並び替え
Application.AddCustomList ListArray:=Array("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3")
Worksheets("Sheet1").Select
Worksheets("Sheet1").Sort.SortFields.Clear
Worksheets("Sheet1").Range("A:W").Sort _
Key1:=Range("I1"), Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=13, _
MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers
Application.DeleteCustomList (Application.CustomListCount)
End Sub

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/19 02:19