=IF(L2=N2, IF(N2>0,TRUE, FALSE), FALSE)
True または False の値を与える数式を含む列を持つ Excel スプレッドシートがあります。このスプレッドシートを Excel で開き、列を昇順で並べ替えると、正しく並べ替えられます。記録から返されたマクロは次のとおりです。
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Add _
Key:=Range("X1:X2188"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
これをアクセスに転送すると、私は持っています。
With WorkSheet
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.add _
Key:=.range("X1:X2188"), SortOn:=0, Order:=1, DataOption:=0
With .AutoFilter.Sort
.Header = 1
.MatchCase = False
.Orientation = 1
.SortMethod = 1
.Apply
End With
End With
コードはエラーを返さずに正常に実行されますが、定数を無視しているxlSortOnValues
ようで、列を並べ替えません。並べ替えの前に値をコピーして貼り付けることはできますが、これがアクセスではなく Excel で機能する理由を知りたいです。