投稿日 | : 2004/02/29(Sun) 02:22 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re: MSHFlexGrid 桁区切りでのソート |
あまりいい方法はないみたいですね。
処理速度の比較は行っておりませんのでどちらが速いかは?ですが
データの件数にもよると思いますので一度比較してみて下さい。
カスタムソートもありかなとは思ったのですが前回試した時に処理が
遅かったので試しておりません。
Private Sub Command1_Click()
Dim strClipDat As String
With MSFlexGrid1
.Visible = False '表示を非表示に
.Row = .FixedRows '選択範囲の行のスタート位置
.Col = 3 '3列目をソート '選択範囲の列のスタート位置
.RowSel = .Rows - .FixedRows '行のエンド位置
strClipDat = .Clip 'データ1列分取得
.Cols = .Cols + 1 '列を1列増やす
strClipDat = Replace(strClipDat, ",", "") ' , を取り除く
.Row = .FixedRows '選択範囲の行のスタート位置
.Col = .Cols - 1 '選択範囲の列のスタート位置
.RowSel = .Rows - .FixedRows '行のエンド位置
.Clip = strClipDat '増やした列にデータをコピー
.Sort = flexSortNumericAscending 'その列をソート
.Cols = .Cols - 1 '増やした列を削除
.Visible = True
End With
End Sub