スポンサーリンク
VBA

Excel VBA | 関数の戻り値と ByRef の使い分け — 設計フロー(チェックリスト+コード例)

初心者が「戻り値」と「ByRef」をどう使い分けるか迷わないように、設計判断フローをチェックリスト形式で整理しました。各ステップに対応するコード例も付けています。設計チェックリスト返す値は1つだけか?...
VBA

Excel VBA | 安全に ByRef を使う設計パターン(コード例付き)

ByRef は「呼び出し元の変数を直接書き換える」ため便利ですが、初心者が使うと副作用で混乱しやすいです。そこで 安全に使うための設計パターン をコード例付きで整理します。1. 複数値返却パターン目的...
VBA

Excel VBA | 「危険な ByRef の使い方」— 初心者がよくハマる罠集

VBA初心者が ByRef(参照渡し) を使うときに陥りやすい罠を整理しました。ByRefは便利ですが、呼び出し元の変数が直接書き換わるため、意図しない副作用が起きやすいです。1. デフォルトが By...
Java

Java | switch文を戦略パターンにリファクタリングする練習問題」

「switch文を戦略パターンにリファクタリングする練習問題」をいくつか用意しました。実務でありがちなケースを題材にしています。練習問題1:注文ステータス管理元コード(switch)switch (s...
VBA

Excel VBA | 配列とオブジェクトの参照渡しのトリッキーな挙動

配列やオブジェクト(Range、Worksheet)の「参照渡し」特有のトリッキーな例を詳しく解説配列やオブジェクト(Range、Worksheet)は「中身」と「参照(どこを指しているか)」が分かれ...
VBA

Excel VBA | 引数にオブジェクト(Workbook/Range/Worksheet)を渡すベストプラクティス

VBAで「Workbook / Worksheet / Range」などのオブジェクトを引数に渡すベストプラクティスExcel VBAでは、プロシージャにオブジェクトを渡すことで柔軟な処理が可能になり...
VBA

Excel VBA | IsMissing と Optional の細かい制約(Variant の場合)

要点まとめVBAで Optional と IsMissing を組み合わせる場合、Variant型の引数だけが特別扱いされます。IsMissing は「その引数が省略されたかどうか」を判定する唯一の方...
VBA

Excel VBA | ByVal/ByRef のメモリやパフォーマンス面での違い

結論VBAにおける ByVal と ByRef の違いは「コピーを渡すか」「元の変数の参照を渡すか」という点にあり、メモリやパフォーマンス面では データのサイズや型によって影響が変わる。小さな値なら差...
VBA

Excel VBA | ByVal と ByRef(値渡し/参照渡し)

最初に押さえるポイントは「渡した値が呼び出し元で変わるかどうか」。ByVal(値渡し):中で変えても呼び出し元は変わらない。ByRef(参照渡し):中で変えたら呼び出し元も変わる。直感イメージByVa...
VBA

Excel VBA | 引数を省略可能にする Optional の使い方

「Optional」は 引数を省略できるようにする仕組み です。普通の引数は必ず渡さないとエラーになりますが、Optionalを付けると「渡してもいいし、渡さなくてもいい」になります。基本の書き方Su...
VBA

Excel VBA | 戻り値のある Function(関数)プロシージャの書き方

Excel VBAの function(関数)プロシージャの基本最初に押さえるポイントは「Subは命令を実行するもの」「Functionは“計算して値を返す”もの」。Functionは“入力→処理→出...
VBA

Excel VBA | 実務用 VBA コード集(テンプレ付き)

業務でよく使う 「安全に動く」「再利用できる」テンプレートコード集 をまとめました。ログ出力やエラー処理を組み込んでいるので、実務ですぐ活用できます。1. 基本構造(ログ+エラー処理付き)Option...
Java

Java | フォールスルーを使わないで同じ挙動を実現するリファクタ例(戦略パターンなど)

「フォールスルーを使って複数条件をまとめる」代わりに、戦略パターン(Strategy Pattern)などの設計パターンを使うと、より柔軟で保守性の高いコードになります。戦略パターンでのリファクタ例元...
VBA

Excel VBA | 「ログ出力」と「エラー処理」を組み込んだExcel VBAマクロのテンプレート

初心者でも実務で使いやすいように、「ログ出力」と「エラー処理」を組み込んだExcel VBAマクロのテンプレートを紹介します。これをベースにすれば、業務用マクロを安全に運用できます。実務マクロテンプレ...
VBA

Excel VBA | 命名規則チェックリスト(VBA/一般プロジェクト向け)

プロジェクト全体で命名を統一するためのチェックリストです。初心者でも使いやすいように整理しました。モジュール名 接頭辞を付ける(例:mod、cls、frm) 役割が分かる名前(例:modCalc、cl...
VBA

Excel VBA | プロジェクト全体の命名規則(接頭辞や名前空間の統一)

プログラムが大きくなると、モジュール・関数・変数の名前がバラバラだと管理が難しくなります。そこで「命名規則」をプロジェクト全体で統一することが重要です。初心者向けに整理してみます。命名規則を統一する目...
VBA

Excel VBA | Module設計・命名規則まとめ

プログラミング初心者向けに、VBAや一般的なプログラムにおける「モジュール設計」と「命名規則」を整理してまとめます。モジュール設計の基本モジュールは「処理をまとめる箱」です。大きなプログラムを整理する...
VBA

Excel VBA | ByValとByRefの違い(値渡しと参照渡し)

少し抽象的に聞こえる言葉だけど、実際は「中身のコピーを渡すのか」「そのものを渡すのか」という違いです。VBAでは引数の前に ByVal/ByRef を付けて制御します。基本の考え方ByVal(値渡し)...
VBA

Excel VBA | 「Subプロシージャ」と「Functionプロシージャ」の違い

初心者向けに 「Subプロシージャ」と「Functionプロシージャ」の違い、そして引数・戻り値の使い方を丁寧に解説します。SubプロシージャとFunctionプロシージャの違い項目Subプロシージャ...
VBA

Excel VBA | 在庫管理や売上処理でよくあるバグ

了解です!ここでは 在庫管理や売上処理でよくあるバグ を例に挙げて、修正版コードと解説をまとめます。実務でありがちな「間違い探し」形式です。よくあるバグと修正例1. 在庫更新で商品コードが見つからない...
VBA

Excel VBA | VBAの基本構文・ループ・条件分岐・変数宣言 などを題材に「バグ修正(間違い探し)」形式の練習問題

「バグ修正(間違い探し)」形式の練習問題を用意しました。初心者がつまずきやすい VBAの基本構文・ループ・条件分岐・変数宣言 などを題材にしています。各問題は「間違ったコード例」を提示するので、どこが...
VBA

Excel VBA | 中級・上級 VBA 総合セット(100問)

カテゴリ一覧制御構文・ロジック(10問)配列・コレクション・Dictionary(10問)Range・セル操作(10問)シート・ブック操作(10問)イベント処理(10問)ユーザーフォーム・UI(10問...
VBA

Excel VBA | Range(“A1”).CurrentRegion をそのまま配列にする高速テク

Excel VBA で 表全体を一気に配列に読み込むには、Range("A1").CurrentRegion.Value を使うのが定番です。これにより「A1 を含む連続したセル範囲(表全体)」を 二...
VBA

Excel VBA | 多列の配列処理(3次元配列の考え方)

Excel VBA で Range.Value を読み込むと 2次元配列(行 × 列) が得られます。「3次元配列」は Excel のセル範囲から直接は得られませんが、複数シートや複数テーブルをまとめ...
VBA

Excel VBA | 複数列を配列で扱う例(2次元配列処理)

Excel VBA で Range.Value を配列に読み込むと、二次元配列(行 × 列)として扱えます。これを使うと「複数列のデータをまとめて処理 → 一括で書き戻す」ことができます。基本の考え方...
VBA

Excel VBA | 配列を Dictionary に変換して高速検索する例

Excel VBA では、配列をそのままループして検索すると 線形探索(1件ずつチェック) になるため遅くなります。そこで Scripting.Dictionary を使うと、キーで即座に検索できるの...
VBA

Excel VBA | For Each の代わりに For i を使う理由

「For Each…Next」は すべての要素を順番に処理する のに便利ですが、処理する対象を選びたいときや インデックス番号を使いたいときには「For i…Next」が有利です。For i を使うメ...
VBA

Excel VBA | 配列高速化と For Each の使い分けまとめ

Excel VBA で繰り返し処理をするとき、「For Each…Next」 と 「配列に読み込んで一括処理」 のどちらを選ぶかで速度や書きやすさが変わります。実務ではこの使い分けが重要です。For ...
VBA

Excel VBA | 実務で役立つ「配列に読み込んで一度に書き戻す」高速化テクニック

Excel VBA でセルを 1つずつ処理すると遅い のはよくある悩みです。原因は「セルへのアクセスが都度 Excel に問い合わせる」ため。これを改善する方法が 配列にまとめて読み込み → VBA内...
Java

Java | switch文のデバッグでフォールスルーを見つける方法

「switch文のデバッグでフォールスルーを見つける方法」ですね。実務でよくハマるポイントなので、整理してコツをまとめます。フォールスルーとは?breakを書き忘れると次のcaseまで処理が流れる現象...
スポンサーリンク