Excelで表を使った顧客管理ソフトを作ってみよう

Step 5 昇順ソート、降順ソートに変更

前回は「ソート」ボタンのみでクリックすると昇順のみに並べ替えていましたが、今回は昇順・降順それぞれできるようボタンを追加します。
このような操作では、昇順・降順の切り替えはよくチェックボックスで行いますが、これの場合2クリック必要になりますので、より簡単にできるよう2個のボタンを設置しました。
昇順・降順の切り替えコードは、
xlAscending :昇順に並べ替え(既定値)
xlDescending:降順に並べ替え
を引数にし SortSpecial を実行させています。


Homeへ > Excelでアプリケーションソフト2 > 顧客管理ソフトを作ってみよう

シートのVBAコード

下記のVBAコードに変更してください。

Private Sub CommandButton1_Click()
    ExSort xlDescending
End Sub

Private Sub CommandButton3_Click()
    ExSort xlAscending
End Sub

Private Sub ExSort(sw As Integer)
    Dim rg As String
    
    If OptionButton1.Value = True Then
        rg = "A5"
    ElseIf OptionButton2.Value = True Then
        rg = "B5"
    ElseIf OptionButton3.Value = True Then
        rg = "C5"
    ElseIf OptionButton4.Value = True Then
        rg = "D5"
    ElseIf OptionButton5.Value = True Then
        rg = "E5"
    ElseIf OptionButton6.Value = True Then
        rg = "F5"
    ElseIf OptionButton7.Value = True Then
        rg = "H5"
    ElseIf OptionButton8.Value = True Then
        rg = "I5"
    ElseIf OptionButton9.Value = True Then
        rg = "J5"
    ElseIf OptionButton10.Value = True Then
        rg = "K5"
    End If

    Range("A5:L10004").Select
    Selection.SortSpecial SortMethod:=xlSyllabary, Key1:=Range(rg), Order1:=sw, _
        Key2:=Range("A5"), Order2:=xlAscending, _
        Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlSortColumns
    Range("B5").Select
End Sub



シート画面

「昇順で実行」「降順で実行」ボタンを追加しています。
「会社名」をTrueにし、ソートを実行します。
ソート UserForm

「昇順で実行」ボタンをクリックすると会社名が昇順でソートされています。
会社名で昇順ソート

「降順で実行」ボタンをクリックすると会社名が降順でソートされています。
会社名で降順ソート


Homeへ > Excelでアプリケーションソフト2 > 顧客管理ソフトを作ってみよう

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved