コード全般

カテゴリーに分けられない記事をまとめています。
コードの書き方や演算子、ワークブック間の作業について記事を用意しています。

ExcelVBA

VBA|パスワード付きワークシートの保護と解除を単一プロシージャで実行する

「VBAでワークシートの保護と解除を行いたいです。」という質問をいただきました。ExcelVBAでもワークシートの保護と解除を用意する事ができます。1つのプロシージャの中で保護と解除を使い分ける事で効率よくマクロを運用する事ができますよ。
ExcelVBA

マクロで文字列の置換はVBA関数のReplace|4つの方法を比較

置換についてはどの方法を使えばよいのか分からないという質問が多いです。実際に方法は複数存在します。本記事では4つの方法を深堀し比較して1つの結論を出しました。マクロで文字列の置換はVBA関数のReplace関数1択です。
ExcelVBA

VBA|InputBoxメソッドで戻り値空白とキャンセルの処理を分ける

InputBoxメソッドでは戻り値空白の時とキャンセルボタンが押された時の処理を分ける事ができます。本記事ではInputBoxメソッドと一緒にIsNumeric関数を使ってユーザーが使いやすい操作環境を用意します。
ExcelVBA

VBAのFindメソッドは変数が難しい|文字列検索はLike演算子!

私は特定の文字列や数値の検索時にFindメソッドは使いません。戻り値であるRangeオブジェクトの扱いが難しいからです。本記事ではFindメソッドの問題点を整理したうえでより簡単なLike演算子を使ったコードを紹介します。
ExcelVBA

マクロでフォルダ内のファイル名を取得|Excel以外の拡張子にも対応

「フォルダ内のファイル名を簡単に取得出来ませんか?」という問い合わせに対する回答を用意しました。マクロなら対応可能です。Excel以外の拡張子でもファイル名を取得する事ができます。拡張子を絞りたい方にも関連記事を用意しています。
ExcelVBA

VBA|最後のシートまで処理を繰り返す|変数をうまく使いこなそう

最後のシートまで処理を繰り返す時の定番は「For Each ~ Nextステートメント」ですが初心者様には「難しい」様です。今回はFor Each ~ Nextステートメントを「使う」or「使わない」2通りの方法でシートを周回してみます。
ExcelVBA

VBA|コードが長いプロシージャを短く切り分ける|マクロを部品化する

VBAが理解できる様になるとコードは短くスッキリ書けるのですが勉強初期ではプロシージャが長くなりがちです。可読性も作業性も悪いです。本記事では長いプロシージャを3つに分けて読みやすくするのと同時に作業性(メンテナンス性)も向上させます。
ExcelVBA

VBAはフォルダ内の複数ブック×全部のシート名をセットで取得できる

会社等集団でデータを扱う際は規則を決めないとフォルダ内に色々な名前のデータが混在します。現状把握を兼ねて棚卸しようとしても手作業では工数大です。今回は「フォルダ内の複数のワークブックと全部のワークシート名をセットで取得」を実践します。
ExcelVBA

マクロで特定文字を含むシートを選択|For Each ~ Next & Like

For Each ~ Nextステートメントはワークシートやセル等特定の集団内の要素に対しループで1つずつ処理する事ができる構文です。本記事ではFor Each ~ Nextステートメントの使い方を含め具体的な使用例を3つ紹介します。
ExcelVBA

VBA×コピペ|値のみ貼り付け&簡単高速にコピーできる方法を公開

本記事はコピペ(コピー&ペースト)の中から「値貼り付け」にフォーカスを当てた記事です。値貼り付けにはPasteSpacialメソッドを使う事になります。一連の操作を紹介した後でより「簡単」&「高速」なコピペ(裏技)を紹介します。
ExcelVBA

VBA|MsgBoxの「保存」ボタンを使わずにデータをSaveする

VBAのMsgBox関数で「保存」ボタンは作成出来るのか?という質問をいただきました。結論としては「できない」のですが同じ効果を得る事はできます。少し違ったアプローチをすることでメッセージボックスからデータの保存を可能にしてみます。
ExcelVBA

VBA|Dir関数を使ってフォルダ内の複数ファイルを順番に処理する

マクロを書いたワークブックから別のワークブックを開いて作業をしたいなと思った事はありませんか?Dir関数ならフォルダ内に配置された複数のエクセルファイルを順番に開く事が可能です。事例+動画をもとにDir関数の使い方を詳しく解説します。
ExcelVBA

【VBA_再帰】複数フォルダ内を検索拡張子を決めて画像を取り出す

1つ前の記事で再帰の基本構造を解説しました。次は応用編です。階層の異なるフォルダ群を検索し特定の拡張子を持った画像データを取り出すというコードを紹介します。再帰を使う事でフォルダ群の隅々まで画像を検索する事ができます。
ExcelVBA

【ExcelVBA】再帰呼び出し(再帰処理)は3分の動画で理解できる

再帰呼び出し(再帰処理)について画像と非常に分かり易い動画を用いて解説していきます。今回の記事では再帰呼び出し自体の解説をします。再帰は非常に難しいのでコードを見ただけでは理解できません。そこでコードの流れが分かる画像と動画を用意しました。
ExcelVBA

【VBA】絶対パス相対パスの書き方|理解はカレントディレクトリがポイント

コードの中で別ファイルへアクセスする際はファイルパスを記入することになります。絶対パスか相対パスを使います。それぞれにメリット、デメリットがあり使いこなすには両方を正しく理解する必要があります。最後に第3の方法で書いたコードを紹介します。