列ヘッダによる並べ替えについて、列ごとの設定を行います。
このプロパティはインデックスプロパティです。インデックスには列番号を指定します。
以下の値を指定します。初期値は$ColUserSortIndicatorNoneです。
定数 |
値 |
説明 |
$ColUserSortIndicatorNone |
0 |
なし |
$ColUserSortIndicatorAscending |
1 |
並べ替え△(昇順) |
$ColUserSortIndicatorDescending |
2 |
並べ替え▽(降順) |
$ColUserSortIndicatorDisabled |
3 |
並べ替え無効 |
このプロパティはUserColActionプロパティと合わせて使用します。UserColActionプロパティに$UserColActionSort、$UserColActionSortNoIndicatorが設定されていると、ユーザは列ヘッダをクリックすることで並べ替えができます。並べ替えは、特定の1列をキーとしてスプレッドシート全体に対して行われます。
UserColActionプロパティで並べ替えが許可されているときに、列の並べ替えの状態を取得できます。
if (ColUserSortIndicator(2) == $ColUserSortIndicatorAscending) {
MessageBox("2列目で昇順にソートされています");
} else if (ColUserSortIndicator(2) == $ColUserSortIndicatorDescending) {
MessageBox("2列目で降順にソートされています");
} else if (ColUserSortIndicator(2) == $ColUserSortIndicatorNone) {
MessageBox("2列目ではソートされていません");
}
UserColActionプロパティに$UserColActionSortNoIndicatorが設定されているとソートインジケータ(列ヘッダの△▽印)は表示されませんが、ColUserSortIndicatorプロパティでは並べ替えの状態を取得できます。
UserColActionプロパティで並べ替えが許可されているときに、ColUserSortIndicatorプロパティに$ColUserSortIndicatorDisabledを指定することで特定の列の並べ替えを禁止できます。
UserColAction = $UserColActionSort;
/* 2列目、3列目はソートさせない */
ColUserSortIndicator(2) = $ColUserSortIndicatorDisabled;
ColUserSortIndicator(3) = $ColUserSortIndicatorDisabled;
ユーザによる操作ではなく、CRSプログラムから並べ替えを行いたい場合は、ColUserSortIndicatorプロパティを設定したあとにUserColActionプロパティを設定します。
/* 2列目で昇順ソート */
ColUserSortIndicator(2) = $ColUserSortIndicatorAscending;
UserColAction = $UserColActionSort;
並べ替えは特定の1列をキーとして行われますので、複数の列に対してColUserSortIndicatorプロパティを設定しないでください。
UserColActionプロパティに$UserColActionSortが指定されているときに、ColUserSortIndicatorプロパティで列ヘッダに表示されるソートインジケータ(列ヘッダの△▽印)を変更できます。並べ替えは行われません。
UserColAction = $UserColActionSort;
ColUserSortIndicator(2) = $ColUserSortIndicatorAscending;
ColUserSortIndicator(3) = $ColUserSortIndicatorDescending;
関連項目
UserColActionプロパティ