
2025年10月25日(土)21:00~
「自作ライブラリ勉強会」に登壇いたしました!
ご参加いただいた皆さまありがとうございました(´∀`)
今回はライトニングトーク会ということで6名の方からの発表でした!

テーマは「自作ライブラリ勉強会」ということで、
各自自慢の汎用関数を発表し合いました。
今回の勉強会はYoutubeLiveでも配信をしており、
Live配信のアーカイブを下記よりご視聴いただけます。
私以外の皆さんの資料やソースコードもDiscordにアップされていますので、
是非ご活用いただければと思います!
私は今回「クラスライブラリ」を紹介しました。
紹介したクラスは「オートフィルター」に着目したクラスで、
- テーブル(ListObject)が持つ機能をオートフィルターに持たせる
- SUMIFやCOUNTIFなどのシート関数を各列に実行可能
- ソートや指定キーの削除などもメソッドから実行可能
このようなクラスになっています。
クラス化の最大のメリットはコーディング速度で、
自作クラスを手足のように動かせるとかなり効率的にコーディングができます。
上記のアーカイブでコーディングを実演していますので是非ご覧ください。
ソースコードの一例はこちらになります。
Sub データテーブルクラステスト() Dim DT売上データ As New ClassDTデータテーブル Call DT売上データ.SetWorksheet(Worksheets("売上データ")) Debug.Print DT売上データ.RLast DT売上データ.DataRange.Select Debug.Print DT売上データ.SUM(10) Debug.Print DT売上データ.SUMIF(7, "みかん", 10) Call DT売上データ.Sort単キーでソートする(CNo売上データ.取引先コード, False) Call DT売上データ.Filterフィルターで抽出する("みかん", CNo売上データ.品物) End Sub Sub 売上が10万円以上の商品だけのシートを複製する() Dim wb出力ブック As Workbook Set wb出力ブック = Workbooks.Add Dim DT売上データ As New ClassDTデータテーブル Call DT売上データ.SetWorksheet(ThisWorkbook.Worksheets("売上データ")) Dim key商品コード For Each key商品コード In DT売上データ.Arrayユニークリスト(CNo売上データ.商品コード) If DT売上データ.SUMIF(CNo売上データ.商品コード, key商品コード, CNo売上データ.売上) >= 100000 Then WS売上データ.Copy after:=GetLastSheet(wb出力ブック) Dim DT新シート As New ClassDTデータテーブル Call DT新シート.SetWorksheet(ActiveSheet) Call DT新シート.Filterフィルターで抽出する(key商品コード, CNo売上データ.商品コード) Call DT新シート.Deleteフィルターで抽出していないレコードを削除する DT新シート.ws.Name = key商品コード End If Next End Sub
スライド付きのソースコードは以下の配布資料からダウンロードください。
【和風スパ】LT会「自作ライブラリ勉強会」登壇資料(DLリンク)
今回もご参加いただきありがとうございました。
このイベントはExcel&VBAのDiscordコミュニティ
「Excel-Fun.xls*」にて主催しております。
参加者も1,300名突破!!
質問相談や課題回答などで盛り上がっております!
11月も引き続きイベント盛りだくさんで、
毎月恒例の「和風スパゲティ勉強会」や「ショートカット勉強会」、
他に「クラスモジュール入門」「スピル勉強会」を開催します!
ご参加がまだの方は、下記リンクよりぜひご参加ください(´∀`)