Step35 登録済みの行を削除後追加し並べ替える: Excel請求書

既に請求書No.が登録されている場合、削除できたので一覧に追加し、日付とNo.で並べ替えします。

追加はStep32で作成したコードを使い、並べ替えはSortメソッドを使います。 Sortメソッドの使い方は下の関連リンクを参照してください。


Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

作成画面

■登録済み請求書No.の行を削除後、一覧に追加する

削除前の一覧シートです。
削除前の一覧シート

下のシートのように、請求書No.が同じで日付を変更し終了し、正常に追加できるか確認します。
請求書No.が同じで日付を変更した請求書

同じ2015/3/7の請求書No.が削除され、2015/3/5分が登録されています。
これで正常に削除から追加が動作していることが分かります。
正常に削除から追加が動作しているシート

■削除から追加の変更コード

下記のVBAコードに変更してください。
請求書No.が見つかればデータを削除します。
その後、見つかった場合も見つからなかった場合も保存します。

        If MyFindNumber(Worksheets("請求書").Range("x6")) <> 0 Then
            MyDeleteNo (Worksheets("請求書").Range("x6"))
        End If
        MySaveData

■一覧を日付と請求書No.で並べ替えします

上シートの実行結果です。
日付順でソートされていて、さらに請求書No.順でソートできています。 どちらも昇順です。
日付順でソートされていて、さらに請求書No.順でソート


■並べ替えの呼び出しコード

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

        If MyFindNumber(Worksheets("請求書").Range("x6")) <> 0 Then
            MyDeleteNo (Worksheets("請求書").Range("x6"))
        End If
        MySaveData
        MyDataSort

■並べ替えのコード

下記のVBAコードを追加してください。
End(xlUp).Rowで入力されている最終行を調べ、ソート範囲を指定しています。
Key1で日付、Key2で請求書No.を指定しています。

Private Sub MyDataSort()
    Dim ln As Long
    
    ln = Worksheets("一覧").Range("B1048576").End(xlUp).Row + 1
    
    Worksheets("一覧").Range(Cells(5, 2), Cells(ln, 10)).Sort _
        key1:=Range("B5"), Order1:=xlAscending, _
        key2:=Range("C5"), Order1:=xlAscending
End Sub

[関連リンク]

データのソート(並べ替え)
ソートの方法
入力されている最終位置、先頭位置の取得


Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

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


Copyright (c) Excel-Excel ! All rights reserved