最初の作りが甘いと、後々まで祟るというお話

1年前作成した ↓ こちら。
infoment.hatenablog.com

改築・増築を繰り返した結果、考え方の不一致などが多数生じていた。
そこで今回、数日かけて全て再構築してみた。
f:id:Infoment:20200723171347p:plain

再構築したクラスモジュール全文は、上記リンク先に反映済みだ。
更に今回は、配列に新たなレコード行を追加できるよう、機能拡張してみた。

例えば、 ↓ の表について。
f:id:Infoment:20200723171800p:plain

この表に、

  • No.  4
  • 品名 ぶどう
  • 単価 250

の一行を追加し、新たなシートを作成して「編集後」という名前をつけ、
そのシートに編集後の配列を張り付けたうえでテーブル化し、さらに
書式を整えてみよう。

↓ サンプルがこちら。

Sub ArrayTest()
    Dim arr As Variant
        arr = Array(4, "ぶどう", 250)
        
        With New VBAProject.ArrayEdit
            ' 編集前配列。
            .source_array = Range("A1:C4")
            ' 編集前配列に、上記arrを最終レコードとして追加。
            .RowAdd arr, , cpInsert
            ' 上記編集後配列を、新たに作成した「編集後」シートに
            ' テーブルとして貼り付け。
            .PasteArray sheet_name:="編集後", _
                        paste_type:=ptTable, _
                        column_autofit:=True, _
                        select_array:=case_edited
        End With
End Sub

結果、無事にテーブルを作成できた。
f:id:Infoment:20200723172123p:plain

今回の再構築で、一番苦労したところ。それは、再構築の前後で互換性を完全に
保つこと。最初の作りが甘いと、後々まで祟ります(自戒の句)。

参考まで。