和風スパゲティのレシピ

日本語でコーディングするExcelVBA

○○と△△の違い

AutoFillとFillDownの違い

AutoFillとFillDownの違いを解説します。どちらも先頭のセルをセル範囲へコピーするメソッドですが、AutoFillはフィルハンドル、FillDownはCtrl+Dと対応しているためAutoFillの方がコピーの種類が豊富です。

CollectionとDictionaryの違い

CollectionとDictionaryの違いについて解説します。どちらも「複数のデータをまとめて持つ仕組み」で、KeyとItemをペアで格納することができますが、Dictionaryが完全上位互換と言ってよい性能を持っています。

NumberFormatLocalとNumberFormatの違い

NumberFormatLocalとNumberFormatの違いを解説します。両者とも「セルの表示形式」を設定するプロパティですが、G/標準、\、[赤]など日本語で表された表示形式を設定可能な点が違います。

Application.OnkeyとMacroOptionsの違い

OnKeyメソッドとMacroOptionsメソッドの違いを解説します。両者ともマクロにショートカットキーを設定する機能ですが、設定を保存できるか、ファンクションキーや特殊キーに設定できるかに違いがあります。

ブレークポイントとStopステートメントの違い

ブレークポイントとStopステートメントの違いを解説します。どちらもマクロの実行を任意の位置で一時停止する機能ですが、保存できるかどうか、条件を設定できるか、設定の簡単さ

WeekDay(VBA)とWEEKDAY(シート関数)の違い

VBAの組込関数「WeekDay関数」と、ワークシート関数「WEEKDAY関数」の違いを解説します。どちらも日付を受け取って曜日を「数字」で返す関数ですが、第2引数を渡したときの設定に違いがあります。

DateDiff(VBA)とDATEDIF(Excel)の違い

ExcelVBAのDateDif関数と、ワークシート関数DATEDIFの違いを解説します。両者は全く違う関数であり、シート関数のDATEDIFは年齢の計算などに活用できますが、VBAのDatediff関数はあまり使い道がありません。

Mod演算子(VBA)とMOD関数(Excel)の違い

VBAで使用できる演算子「Mod演算子」と、Excelで使用できるシート関数「MOD関数」の違いを解説します。どちらも剰余(○を△で割った余り)を計算し、通常の使用(正の整数での使用)では特に違いはありません。

Asc(VBA関数)とASC(シート関数)の違い

VBAのAsc関数と、シート関数のASC関数の違いを解説します。この2つはまったく違う関数で、VBAのAsc関数は文字コードを取得する関数、対してシート関数のASC関数は、全角文字を半角に変換する関数です。

CStr関数とStr関数の違い

VBAの組み込み関数である、CStr関数とStr関数の違いを解説します。どちらも値を文字列(String型)に変換する関数ですが、Str関数は少し特殊な仕様を持っている関数ですの、基本的にCStr関数を使っておけばOKです。

TypeName関数とVarType関数の違い

TypeName関数とVarType関数の違いを解説します。どちらも変数や値のデータ型を調べるための関数ですが、返り値のわかりやすさとオブジェクトの判定機能の分TypeName関数が完全上位といってよいです。

NameとFSO.MoveFolderの違い

ファイルを移動するNameステートメントとFileSystemObject.MoveFolderメソッドの違いを解説します。どちらも2つのパスを受け取ってファイルを移動します。MoveFolderのみワイルドカード*による一括移動ができる点が一番大きな違いです。

NameとFSO.MoveFileの違い

ファイルを移動するNameステートメントとFileSystemObject.MoveFileメソッドの違いを解説します。どちらも2つのパスを受け取ってファイルを移動します。MoveFileのみワイルドカード*による一括移動ができる点が一番大きな違いです。

FileCopyとFSO.CopyFileの違い

ファイルをコピーする際に使用する、FileCopyステートメントとFileSystemObject.CopyFileメソッドの違いを解説します。FSO.CopyFileが完全上位互換と言ってよく、特に「ファイル名省略可」「ワイルドカードで一括コピー可」が大きな長所となります。

RmDirとFSO.DeleteFolderの違い

フォルダを削除する際に使用する、RmDirとFileSystemObject.DeleteFolderの違いを解説します。実はこの二つはほとんど違うもの、RmDirは空のフォルダを削除するステートメントですが、DeleteFolderは中身ごとフォルダを削除するメソッドです。

KillとFSO.DeleteFileの違い

ファイルを削除する際に使用する、KillステートメントとFileSystemObject.DeleteFileメソッドの違いを解説します。両者はほとんど同じ仕様で、引数(削除するファイルのパス)、使えるワイルドカード、エラーが発生する条件などの挙動もほぼ同じです。

Time関数とTimer関数の違い

現在時刻を取得するTime関数とTimer関数の違いを解説します。単位(型)と精度が異なります。Time関数がDate型で表示形式や各種関数に利用できるのに対し、Timer関数は1/00秒まで計測できるSingle型のため、実行速度計測などに向いています。

DirとFSO.FolderExistsの違い

フォルダが存在するか判定する、Dir関数(vbDirectory)と、FileSystemObject.FolderExistsメソッドの違いを解説します。一番の違いは返り値で、True/Falseを返すFolderExistsに対し、フォルダ名を返すDir関数は="",<>""で判定する必要があります。

DirとFSO.FileExistsの違い

ファイルが存在するか判定する、Dir関数とFileSystemObject.FileExistsメソッドの違いを解説します。まずは返り値が異なり、Dir関数は=""<>""での判定が必要になります。また、Dir関数はワイルドカード*を使用した部分一致検索が可能です。

MkDirとFSO.CreateFolderの違い

フォルダを作成するときに使用する、MkDirステートメントとFileSystemObject.CreateFolderメソッドの違いを解説します。両者はほとんど同じものと思ってOKで、引数、省略時のカレントフォルダ指定、エラーの発生条件も全く同じ仕様です。

Worksheet.Selectと.Activateの違い

Worksheetオブジェクトから呼び出す場合の、SelectメソッドとActivateメソッドの違いを説明します。どちらもアクティブシートを設定/変更できるメソッドですが、単独のシート選択はActivate、複数のシート選択はSelectがそれぞれ得意です。

個人用マクロブックと普通のブックの違い

汎用関数・マクロを保存する方法として「個人用マクロブック」があります。このブックは一度作ると以降はExcelの起動時に裏で開かれるのですが、実はこれを普通のブックでやることもできます。その時の細かい違いを解説します。

Replace関数とReplaceメソッドの違い

ExcelVBAにおいて文字列を置換する処理に使う、Replace関数とReplaceメソッドの違いを解説します。Replace関数には、「シート関数のREPLACE」と、「VBA関数のReplace」の2つがありますので、ここでは3つのReplaceについて解説します。

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

関数に引数を渡す際の渡し方である、ByVal(値渡し)とByRef(参照渡し)の違いを説明します。ざっくり説明すると、関数に値(引数)を渡すときに、「変数に書いてある情報だけを渡すのが値渡し(ByVal)」、変数をそのまま渡すのが参照渡し(ByRef)です。

キャメル記法とハンガリアン記法の違い

変数・関数などの名づけ方のルールである、キャメル記法とハンガリアン記法の違いを説明します。単語の区切りを分かりやすくするためのルールがキャメル記法で、どんな変数かを分かりやすくする」ためのルールがハンガリアン記法です。

システムハンガリアンとアプリケーションハンガリアンの違い

変数の名づけ方のルールである、システムハンガリアンとアプリケーションハンガリアンの違いを説明します。どちらも変数に接頭詞をつける命名で、lngApplePriceと変数の型を接頭するのが前者、yenApplePriceと変数の意味を接頭するのが後者です。

キャメルケースとスネークケースの違い

変数・関数などの名づけ方の種類(ルール)である、キャメルケースとスネークケースの違いを説明します。CamelCaseと、各単語の頭文字を大文字にするのがキャメルケース、snake_caseと、単語間にアンダーバーを入れるのがスネークケースです。

キャメルケースとパスカルケースの違い

変数・関数などの名づけ方のルールである、キャメルケースとパスカルケースの違いを説明します。camelCaseと、先頭の単語は小文字で始めるのがキャメルケースで、PascalCaseと、先頭の単語は大文字で始めるのがパスカルケースです。

Do While~Loop と Do~Loop While の違い

繰り返し処理を行うステートメントである、Do While~Loop文と、Do~Loop While文の違いを解説します。両者とも条件式によってループを続けるか判定しますが、While条件式 を書く位置が違います。ほぼ同じ動きなので、より有名な方を使いましょう。

Do While と Do Until の違い

繰り返し処理を行うためのステートメント、Do While文と、Do Until文の違いを解説します。「条件を満たす間続ける」のがDo While文「条件を満たしたら終わる」のがDo Until文です。使い分けですが、そもそもどちらも使わなくていい気がします。