VBAひとり言ワンダーランド
VBAひとり言ワンダーランド
  • 100
  • 137 294
クラスモジュール 27 VBAクラス&コレクション実装|初心者向け実務フロー解説
今回の動画はある要件のツールについてクラスモジュールとコレクションを使用した実装の紹介です。
クラスモジュール初心者の方にとって分かりやすいように
本来であれば、クラスの手番ではないような要件での実装です。
実際の実務を想定したイメージで説していますので、
クラスを実装後にテストを行うフローについても説明しています。
クラスの実装は慣れるまでが大変ですが、慣れてしまうと非常に管理しやすいコーディングに近づけることと思います。
ぜひトライしてみてください。そして他の参考動画も活用して、VBAスキルを磨きましょう。
※本動画で説明する要件とクラスのモジュールの考え方については別途動画を公開しています。
以下の参考URLよりご覧ください。
■参考URL
▶ クラスモジュール 26 クラス初心者必見 相性抜群!クラスモジュール&コレクションをこんな形で連携する
(今回の動画の要件をクラス化する点に特化した内容です)
ua-cam.com/video/TwFZSispTGM/v-deo.html
▶ テストはプログラミングスキルを向上させる(設計・概要)
ua-cam.com/video/Z78I4iE5YY4/v-deo.html
▶ テストはプログラミングスキルを向上させる(実装・実践)
ua-cam.com/video/Rk9kbs1dcN0/v-deo.html
▶ クラスモジュールシリーズ 一気通貫
ua-cam.com/video/HMhHiF8FM7k/v-deo.html&pp=gAQBiAQB
■タイムライン
00:00 動画の概要と目的
01:11 どんな処理をするか(要件説明)
02:31 メイン処理について
04:58 売上データ オブジェクトを作成する
05:53 売上データ オブジェクトの役割とは
09:54 売上データ オブジェクトのテスト
15:31 売上リスト オブジェクトを作成する
18:50 部署リスト機能を作る(売上リスト内部)
24:02 売上リスト オブジェクトのテスト
30:14 Factoryモジュールからオブジェクト生成をする
36:21 Factoryモジュールのテスト
39:06 2次元配列取得プロシージャを作る(売上リスト内部)
45:17 メイン処理(再レビュー)
 
■ハッシュタグ
#VBAクラスモジュール
#Excelクラスモジュール
#VBAオブジェクト初心者
#コーディング
#実装
#VBA
#テスト
#クラスモジュール初心者
#クラスモジュール学習
#クラスモジュール
#オブジェクト
#コレクション
#初心者
Переглядів: 369

Відео

Excelクラッシュの原因を解明!プロセスエクスプローラとVBAでメモリ使用量を調べる方法
Переглядів 42221 день тому
「Excelが突然クラッシュ!?作業中に突然の停止や動作が遅い原因は、"メモリ不足"かもしれません」 本動画では、タスクマネージャーでは分からないExcelの隠れたメモリ使用量を、プロセスエクスプローラやVBAコードで特定する方法を詳しく解説します。 ・「プロセスエクスプローラ」でタスクマネージャーでは見えないメモリ使用量を確認する方法 ・「WMIサービス」を使ったプログラムでメモリデータを取得する実践手順 ネット上ではこの手の情報が少ないため、実際に役立つ手順をわかりやすく整理してお届けします。 Excelが不調でお困りの方は、ぜひこの動画をご覧ください! ※概要末尾に動画内で紹介したソースコードをおいてあります。 「参照設定あり」については事前に参照設定をしておいてください。 ■参考URL ▶ VBAソースコードの改善と効率化シリーズ ua-cam.com/video/wVxss...
クラスモジュール 26 クラス初心者必見 相性抜群!クラスモジュール&コレクションをこんな形で連携する
Переглядів 840Місяць тому
今回は、VBAのクラスモジュールとコレクション(Collection)を使ってデータを効率的に扱う方法を解説します。 「ここに1つの表があります。クラスモジュールを使ってその表を加工し、別の表を作ってください」と言われたとき、どのように取り組むべきでしょうか? この動画では、「クラスモジュールが何となく分かる人」、「(クラスモジュール以外で)コレクションが使える人」を対象に説明をしています。 クラスモジュール初心者の方には、どの部分をクラスにすれば良いのか、表全体をクラス化するべきかなど、迷うポイントが多いかもしれません。 そこで、クラスモジュールでオブジェクトを作成し、1つのオブジェクトに1行分のデータを持たせた後、コレクションでまとめて管理する方法を解説します。 この動画をご覧いただければ、「クラスモジュールの作り方(考え方)」、そして「コレクションで管理することの便利さ」が分か...
気づかずにハマる2次元配列の落とし穴、そして今すぐ使える実務ワザ
Переглядів 4322 місяці тому
2次元配列を使ったVBAプログラムは、業務効率化に大きな効果をもたらしますが、 知らないと陥りやすい「落とし穴」も存在します。 本動画では、基本の使い方(おさらい)から業務で実践的な活用法、 よくあるだろうトラブルとその回避策、 さらには使いこなすための工夫までを詳しく解説します。 ■2次元配列の基本と使うメリット ・セル参照と似た感覚で操作でき、参照を減らしてパフォーマンスも向上 ・行・列のループで表データを簡単に扱える便利なデータ形式 ■実務で見落としがちな注意点 ・データがない場合に2次元配列として取得されないなど、知っておくべき仕様と対策 ■2次元配列を活かすテクニック ・列位置管理にはEnumを使ってソースコードを読みやすくする ・数式を扱う 本動画で紹介するテクニックと注意点を押さえて、VBAのパフォーマンスと可読性をさらに向上させましょう! ■参考URL ▶ クラスモジ...
一次元配列の使い方と活用法 - 実務ではこう使う
Переглядів 3583 місяці тому
Excelでの配列というと二次元配列をよく使いますが、一次元配列も使用するケースももちろんあります。 今回の動画では、「一次元配列とは」というところで通常の変数との比較から特徴や利点を見ていきます。 実務的な使用例については、一次元配列は「ループ対応しやすい」という特徴があります。 これはソースコードの効率化にも繋がる側面もあり、 実際の業務の場面ではこの特性を生かした事例の説明をします。 また、文字列を配列に分解できるという方法でファイル名の取得についても説明します。 ■参考URL ▶ VBAソースコードの改善と効率化シリーズ ua-cam.com/video/wVxsstgq3ms/v-deo.html&pp=gAQBiAQB ■タイムライン 00:00 動画の内容紹介 01:12 配列とは(普通の変数と配列変数の違い) 06:07 配列の特徴 07:59 インデックスとは、その...
マクロ付きブックの引越しの落とし穴に気をつける
Переглядів 2445 місяців тому
一見すると難しくなさそうに見えるブックの引越しですが、 意識しないで行うと後で泥沼にハマる内容です。 ブックの引越しというテーマで以下の状況を想定して説明します。 Excelで作成したシステム、ツールは基本的に「データとプログラム」が一体化しています。 このことが引越しする際の足枷になり、操作を誤る原因になってしまいます。 1.ブック破損時 例えば、ブックを開くと同時にExcelクラッシュするなどブックが壊れた(と思った)とき、新規のブックにシートやソースコードを移動させます。 2.(提供済み)マクロ改修時 例えば、納品済みのファイルにバグがあった場合、修正したファイルを再納品します。 それぞれの状況にあった引越し方法があり、微妙に内容が異なります。 これらの点について気をつけることを説明します。 動画の内容は、パワーポイントのスライドを中心に説明しています。 ■参考URL ▶ Ex...
クラスモジュール 25 標準モジュールでできることをなぜクラスモジュールでやるのかを回答する
Переглядів 1,5 тис.7 місяців тому
クラスモジュールを使ったことがない方にとって、 「標準モジュールでやらずにクラスモジュールを使う理由がよくわからない」 この点が多分最大の"闇"になっているのではないでしょうか? そもそもVBAの処理では標準モジュールで事足りることがほとんどのため なぜクラスモジュールが必要なのかという点は非常に難解に感じてらっしゃる方が多いと思います。 クラスモジュールを使える(作れる)ようになるためには 「そもそもクラスモジュール(オブジェクト)って何?」 この点を知ることが非常に重要だと感じるようになり 今回はこの点を意識して説明しています。 ・クラスモジュールを知る前の注意点とは ・クラスモジュールを使えるスキルとは ・クラスモジュールを使う理由とは クラスモジュールを使える(作れる)ようになるためには それなりのスキル・意識が必要になります。 実際の処理を想定した内容で説明し、標準モジュー...
テストはプログラミングスキルを向上させる(実装・実践)
Переглядів 6847 місяців тому
この動画では、 「テストしやすいプロシージャの設計がどのようにプログラミングスキルの向上に繋がるか」 について解説します(「設計・概要編」からのつながった形で説明しています)。 当動画では、「作成したプロシージャがテストしやすいかどうか」という点に着目しました。 (私の経験上ですが) 「テストしやすいプロシージャとはどのような作りにするべきか」ということを考えること自体が 実はプログラミングのスキルアップに貢献することをお伝えします。 また、「テストしやすい」とはどのようなテストに対してのことかをエディタを使って説明します(この内容を前提に説明します)。 この動画では、以下のポイントを中心に説明します。 ・「テストのしやすい」プロシージャにするためにどうするか ・プロシージャ間の連結が必要な処理を邪魔をしないようにするためには この動画は、 プログラミングの効率化や保守性の向上を目指...
テストはプログラミングスキルを向上させる(設計・概要)
Переглядів 8507 місяців тому
この動画では、 「テストしやすいプロシージャの設計がどのようにプログラミングスキルの向上に繋がるか」 について解説します。 当動画では、「作成したプロシージャがテストしやすいかどうか」という点に着目しました。 (私の経験上ですが) 「テストしやすいプロシージャとはどのような作りにするべきか」ということを考えること自体が 実はプログラミングのスキルアップに貢献することをお伝えします。 また、「テストしやすい」とはどのようなテストに対してのことかをエディタを使って説明します(この内容を前提に説明します)。 この動画では、以下のポイントを中心に説明します。 ・長いプロシージャの問題点: 長いプロシージャが持つ無駄と非効率性について ・プロシージャの分割: プロシージャを分割することで得られるメリット、特にテストのしやすさについて ・単体テストと結合テスト:単体テストと結合テストを知る ・実...
Excel VBA開発後の運用・保守を楽にするためのヒント・・「はい、マクロツールできましたよ」では終われない、、
Переглядів 1 тис.9 місяців тому
「はい、マクロツールできましたよ」では終われない、、 「ExcelのVBA開発」という立場で何からのツール・システムを開発し、 それが終わったら作業終了なのかというと実はその後にも作業が待っています^^; そうです、それは「運用・保守」と呼ばれる作業です。 このフェーズでは、利用者からの不具合、バグ、そして変更の要望などを受けて 対応する作業になります。 安請け合いして開発すると、 後々でボディーブローのように効いていることもザラなんです。 今回の動画では、このような状況になる前に、 「開発のタイミング」「改修時のタイミング」で考慮すべき点、気をつけるべき点について説明します。 万能薬、特効薬はなく、細かいことを意識しながら進めるというのが必須になりますが 特に事務作業の傍らで「ちょっとマクロができる人」として開発されている方は必見です。 一つ一つが地味ですが、後で大きな影響になって...
クラスモジュール 24 ・・・vs. Typeステートメント:使い分けの秘訣
Переглядів 1,3 тис.9 місяців тому
クラスモジュール 24 ・・・vs. Typeステートメント:使い分けの秘訣
Excel VBA 効率化秘訣:「よく使うコード」を再利用するためのプログラミング技術とスマートな管理方法(プログラミング技術編)
Переглядів 1,1 тис.10 місяців тому
Excel VBA 効率化秘訣:「よく使うコード」を再利用するためのプログラミング技術とスマートな管理方法(プログラミング技術編)
Excel VBA 効率化秘訣:「よく使うコード」を再利用するためのプログラミング技術とスマートな管理方法(管理編)
Переглядів 1,3 тис.10 місяців тому
Excel VBA 効率化秘訣:「よく使うコード」を再利用するためのプログラミング技術とスマートな管理方法(管理編)
値渡し vs 参照渡しはどっちが速い? Excel VBA 微 高速化マスターシリーズ【エピソード09】
Переглядів 36110 місяців тому
値渡し vs 参照渡しはどっちが速い? Excel VBA 微 高速化マスターシリーズ【エピソード09】
WebBrowserでJavaScriptのダイアログを賢く回避!VBAスクレイピングテクニック
Переглядів 62010 місяців тому
WebBrowserでJavaScriptのダイアログを賢く回避!VBAスクレイピングテクニック
ループ最適化を目指す Excel VBA 微 高速化マスターシリーズ【エピソード08】
Переглядів 39410 місяців тому
ループ最適化を目指す Excel VBA 微 高速化マスターシリーズ【エピソード08】
Excelのユーザーフォーム上でHTMLを使って凝った画面を作成し、それをコーディングする方法(後編)
Переглядів 78510 місяців тому
Excelのユーザーフォーム上でHTMLを使って凝った画面を作成し、それをコーディングする方法(後編)
既定値ありなし Excel VBA 微 高速化マスターシリーズ【エピソード07】
Переглядів 52910 місяців тому
既定値ありなし Excel VBA 微 高速化マスターシリーズ【エピソード07】
Excelのユーザーフォーム上でHTMLを使って凝った画面を作成し、それをコーディングする方法(前編)
Переглядів 4,2 тис.10 місяців тому
Excelのユーザーフォーム上でHTMLを使って凝った画面を作成し、それをコーディングする方法(前編)
文字列連結 Excel VBA 微-高速化マスターシリーズ【エピソード06】
Переглядів 29711 місяців тому
文字列連結 Excel VBA 微-高速化マスターシリーズ【エピソード06】
プログレスバー第2弾をやろうと思ったら、ユーザーフォームをいじりすぎて別の話になりました^^;
Переглядів 53111 місяців тому
プログレスバー第2弾をやろうと思ったら、ユーザーフォームをいじりすぎて別の話になりました^^;
クラスモジュール 23 標準モジュールとの違いが出るまで要件を変えていく
Переглядів 87111 місяців тому
クラスモジュール 23 標準モジュールとの違いが出るまで要件を変えていく
クラスモジュール 22 クラス独特の「モヤモヤ」を吹き飛ばす
Переглядів 72911 місяців тому
クラスモジュール 22 クラス独特の「モヤモヤ」を吹き飛ばす
参照設定 Excel VBA 微 高速化マスターシリーズ【エピソード05】
Переглядів 23211 місяців тому
参照設定 Excel VBA 微 高速化マスターシリーズ【エピソード05】
Publicは時と場合によって使い分ける
Переглядів 67011 місяців тому
Publicは時と場合によって使い分ける
変数の型 Excel VBA 微 高速化マスターシリーズ【エピソード04】
Переглядів 27411 місяців тому
変数の型 Excel VBA 微 高速化マスターシリーズ【エピソード04】
エラーハンドリング処理で実行時エラーに挑む:中級者超えを目指す!
Переглядів 47811 місяців тому
エラーハンドリング処理で実行時エラーに挑む:中級者超えを目指す!
数式コピー Excel VBA 微 高速化マスターシリーズ【エピソード03】
Переглядів 402Рік тому
数式コピー Excel VBA 微 高速化マスターシリーズ【エピソード03】
料理で楽しむVBAデバッグ:カレーライスを通じたエラー処理の基本
Переглядів 426Рік тому
料理で楽しむVBAデバッグ:カレーライスを通じたエラー処理の基本
シートActivate Excel VBA 微 高速化マスターシリーズ【エピソード02】
Переглядів 367Рік тому
シートActivate Excel VBA 微 高速化マスターシリーズ【エピソード02】