プログラミング

スポンサーリンク
VBA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

カテゴリ一覧制御構文・ロジック(10問)配列・コレクション・Dictionary(10問)Range・セル操作(10問)シート・ブック操作(10問)イベント処理(10問)ユーザーフォーム・UI(10問)ファイル入出力(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 を配列に読み込むと、二次元配列(行 × 列)として扱えます。これを使うと「複数列のデータをまとめて処理 → 一括で書き戻す」ことができます。基本の考え方Range("B2:D10").Valu...
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 Each…Next の特徴メリットコレク...
VBA

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

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

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

「switch文のデバッグでフォールスルーを見つける方法」ですね。実務でよくハマるポイントなので、整理してコツをまとめます。フォールスルーとは?breakを書き忘れると次のcaseまで処理が流れる現象。意図的に使う場合もあるが、初心者や実務...
VBA

Excel VBA | 上級問題セット

ここでは VBA の上級者向けとして、以下の分野をすべて網羅した問題セットを紹介します。クラスモジュールDictionaryJSON(Parse/Serialize)Web API 呼び出し(WinHTTP)ADO(DBアクセス)標準モジュ...
VBA

Excel VBA | 中級者向け VBA 練習問題(配列 / 文字列 / ファイル処理)

ここからは 中級者向けの VBA 練習問題(配列・文字列処理・ファイル処理)を合計 20問 用意。すべて 模範解答コードつき なので、すぐ試せます。配列・Split・Join・Dir・FileSystemObject・正規表現など、実務でよ...
Java

Java | 実務で使う switch 文のテンプレート集(例外・ログ対応つき)

「実務で使える switch 文のテンプレート集」を、例外処理やログ出力を組み込んだ形でまとめてみます。業務コードでは「ただ分岐する」だけでなく、異常系の扱いやログ記録が重要になるので、それを意識したサンプルを紹介します。基本テンプレート(...
Java

Java | if文・switch文の書き換えトレーニング

if文で書いた処理をswitch文に書き換える」ことで、条件分岐の理解が深まります。ここではトレーニング用の例題をいくつか用意して、if文 → switch文の変換を見ていきましょう。例題1:曜日表示if文バージョンint day = 3;...
Java

Java | 例外階層 × ロギング設計ベストプラクティス

では以下に、「例外階層 × ロギング設計ベストプラクティス」〜例外種別に応じたログレベル設計・運用テンプレート〜を、実務教材スタイル(クラス構造+設計思想+コード表+運用方針表) でまとめます。1. 全体像:例外階層 × ロギング方針の考え...
Java

Java | 例外階層の設計テンプレート(アプリ全体で統一する例外方針)

「例外階層の設計テンプレート(アプリ全体で統一する例外方針)」は、チーム開発や長期運用の現場で必須の“例外ポリシー設計”です。ここでは、アプリ全体で共通化する例外階層図分類ルール(業務/システム/基盤)例外ハンドリング方針を、Spring ...
Java

Java | 例外と早期returnの組み合わせテンプレート

「例外と早期 return の組み合わせテンプレート(業務クラス構造つき)」は、実務で“安全で読みやすくメンテしやすい”コードを書くための基本骨格です。ここでは、3層構造(Controller/Service/Repository)に沿って...
Java

Java | 三次元版ライフゲーム(セルオートマトン)

三次元版ライフゲーム(セルオートマトン)の例題「ライフゲーム」は二次元の格子でよく知られていますが、三次元に拡張すると「立方体の中で細胞が生きたり死んだりする」シミュレーションになります。初心者向けに、シンプルなルールで例題を作ってみましょ...
スポンサーリンク