知らずに落ちると抜け出せなくなるVBAの落とし穴です。Dir関数が途中で止まる、逆に無限ループする、「プロシージャの呼び出し、または引数が不正です。」エラーを出す、あたりにお悩みの方は、この落とし穴に落ちていないかご確認ください。
マクロの実行中に、ダイアログボックスを開き、ユーザーにフォルダを指定・選択してもらうコードを、コピペして使える関数にしたものを紹介します。ユーザーが選択したフォルダの「パス」を返す関数なので、Stringの変数に入れたりして使ってください。
VBAの関数「IsNumeric」と、ワークシート関数「ISNUMBER」の違いを解説します。両方とも数値かどうかを判定しますが、IsNumericの方が条件が緩く「数値に見ることができる⇒True」、ISNUMBERの方が条件が厳しく「完璧に数値⇒True」という違いがあります。
ある名前のブックを、現在開いているかを調べる関数を紹介します。Worksbooks(ブック名)の「インデックスが有効範囲にありません」エラーを回避するのによく使います。やり方は簡単で、教本のような「コレクションに対するFor Each」で処理します。
ある名前のワークシートが、指定したブックに存在するかを調べる関数を紹介します。Worksheets(シート名)の「インデックスが有効範囲にありません」エラーを回避するのに使います。教本のような「コレクションに対するFor Each」で処理します。
選択したセル範囲に、丸数字を連番で入力するマクロを紹介します。簡単な表やグラフの入る資料・マニュアルなんかは、Wordで作るより、Excelで作ったほうが絶対楽です。このマクロをじゃんじゃん使って、サクサクExcel文書を作っていきましょう。
丸数字(1) = ①、丸数字(24) = ㉔ のように、丸数字(n)を①②…に変換する関数が「丸数字(n) = Chr(Asc("①") + n - 1)」です。お忙しい方は、ソースコードをコピーして、使い方のように呼び出すだけでOKです。コードをしっかり読みたい方は、解説をどうぞ。