Excelで超シンプルなはがき印刷ソフトを作ってみよう

Step 2 ソート(並べ替え)の追加




Homeに戻る > Excelでアプリケーションソフト > はがき印刷ソフト

シート

下記のVBAコードを追加してください。

Option Explicit

Private Sub ExSort(scol As String, mode As Integer)
    Dim lrow As Long
    Dim n As Long
    Dim jyun As Integer
    
    lrow = ActiveSheet.Range("B65536").End(xlUp).Row
    n = ActiveSheet.Range("C65536").End(xlUp).Row
    If n > lrow Then lrow = n
    n = ActiveSheet.Range("D65536").End(xlUp).Row
    If n > lrow Then lrow = n
    n = ActiveSheet.Range("E65536").End(xlUp).Row
    If n > lrow Then lrow = n
    n = ActiveSheet.Range("F65536").End(xlUp).Row
    If n > lrow Then lrow = n
    n = ActiveSheet.Range("G65536").End(xlUp).Row
    If n > lrow Then lrow = n
    
    If mode = 0 Then
        jyun = xlAscending
    Else
        jyun = xlDescending
    End If
    
    ActiveSheet.Range("B9:G" & lrow).Sort _
         Key1:=Range(scol & "1"), Order1:=jyun _
        , Header:=xlYes _
        , MatchCase:=False _
        , Orientation:=xlTopToBottom _
        , SortMethod:=xlPinYin
End Sub

Private Sub Label1_Click()
    ExSort "B", 1
End Sub

Private Sub Label10_Click()
    ExSort "F", 0
End Sub

Private Sub Label11_Click()
    ExSort "G", 1
End Sub

Private Sub Label12_Click()
    ExSort "G", 0
End Sub

Private Sub Label2_Click()
    ExSort "B", 0
End Sub

Private Sub Label3_Click()
    ExSort "C", 1
End Sub

Private Sub Label4_Click()
    ExSort "C", 0
End Sub

Private Sub Label5_Click()
    ExSort "D", 1
End Sub

Private Sub Label6_Click()
    ExSort "D", 0
End Sub

Private Sub Label7_Click()
    ExSort "E", 1
End Sub

Private Sub Label8_Click()
    ExSort "E", 0
End Sub

Private Sub Label9_Click()
    ExSort "F", 1
End Sub


メイン画面

▼で降順、▲で昇順にソートします。

Homeに戻る > Excelでアプリケーションソフト > はがき印刷ソフト

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


Copyright (c) Excel-Excel ! All rights reserved