Excelで家計簿ソフトを作ってみよう

Step 10 日付と費目でソートする

入力データの最下行を探し、その範囲で1番目のキーを日付、2番目のキーを費目としソートします。

ソートは、Sortメソッドを使用します。



Homeに戻る > Excelでアプリケーションソフト2 > 家計簿ソフト

実行画面

■ソート前の入力データ
  日付が前後しています。
家計簿データが入力された生データ

■「先週」「今週」「先月」「今月」のボタンがクリックされると、最初にデータをソートします。
集計ダイアログ

■ソート実行後のデータ
  日付と費目の順で並んでいます。
家計簿データをソートした結果

実行VBAコード

Private Sub MyDataSort()
    Dim ln1 As Long
    Dim ln2 As Long
    
    'データが入力されている最下行を取得
    ln1 = Sheets("日々の収入・支出入力").Range("B65536").End(xlUp).Row
    ln2 = Sheets("日々の収入・支出入力").Range("D65536").End(xlUp).Row
    If ln2 > ln1 Then
        ln1 = ln2
    End If
    ln2 = Sheets("日々の収入・支出入力").Range("E65536").End(xlUp).Row
    If ln2 > ln1 Then
        ln1 = ln2
    End If
    ln2 = Sheets("日々の収入・支出入力").Range("F65536").End(xlUp).Row
    If ln2 > ln1 Then
        ln1 = ln2
    End If
    ln2 = Sheets("日々の収入・支出入力").Range("G65536").End(xlUp).Row
    If ln2 > ln1 Then
        ln1 = ln2
    End If
    
    '1.日付 2.費目 でソートする
    ActiveSheet.Range(Cells(11, 1), Cells(ln1, 7)).Sort _
         Key1:=Range("B1"), Order1:=xlAscending _
        , Key2:=Range("D1"), Order2:=xlAscending _
        , Header:=xlYes _
        , MatchCase:=False _
        , Orientation:=xlTopToBottom _
        , SortMethod:=xlPinYin
End Sub


Homeに戻る > Excelでアプリケーションソフト2 > 家計簿ソフト

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


Copyright (c) Excel-Excel ! All rights reserved