UBound関数に配列を返す関数を渡すとメモリリークする 公開日:2018年1月22日 困ったとき UBound関数やLBound関数に配列を返す関数を渡すとメモリリークする VBAはあまりメモリリークが発生することはないのですが、それでも発生する場合があります。 Microsoftのサポートページには、 「UBoun […] 続きを読む
VBAでオブジェクト変数の宣言とNewを1行で書いてよいか 公開日:2018年1月21日 困ったとき オブジェクト変数のNewは1行でも書けるし2行に分けても書ける FileSystemObjectクラスやRegExpクラスなどVBAでクラスを利用することがあります。 そのときに、オブジェクト変数(クラスのインスタンス変 […] 続きを読む
VBAのByte単位用関数の問題点 公開日:2017年12月20日 困ったとき Byteの単位が日本語圏では異なる Left関数とLeftB関数のように、Bが付かない関数と付く関数が用意されているものがあります。 一般的には、Bが付く関数はバイト単位である、という説明がされているのですが、これは日本 […] 続きを読む
VBA関数の$ドルマークの意味 公開日:2017年12月18日 困ったとき $が付くVBA関数 VBA関数の中にはLeft$関数のように$が付くものがあります。 先に答えを書いてしまいますが、$がない関数を使ってください。 $ありを使うとNull判定処理が必要になるのが主な理由です。$ありの関数 […] 続きを読む
CharactersオブジェクトのCountプロパティのバグ回避方法 公開日:2017年10月29日 困ったとき CharactersオブジェクトのCountプロパティのバグ 一般的にCharactersオブジェクトのCountプロパティは文字数を取得するプロパティと紹介されているのですが、それは半分は正しいのですが半分は間違いです […] 続きを読む
ColorプロパティとColorIndexプロパティの違い 公開日:2017年8月24日 困ったとき ColorプロパティとColorIndexプロパティの違い VBAでセルの文字に色を付ける場合、ColorプロパティやColorIndexプロパティを利用します。 色の扱いはExcel2007から随分変わりました。Col […] 続きを読む
VBAのSelectとActivateの違い 公開日:2017年8月15日 困ったとき SelectとActivateは親オブジェクトが異なる SelectメソッドとActivateメソッドはそれぞれ対象となる親オブジェクトが異なります。 Selectメソッドの親はセルのRangeオブジェクト、ワークシート […] 続きを読む
VBAがループ等で固まった場合の対応方法 公開日:2017年7月4日 困ったとき VBAがループで固まったときの対応方法 VBAでループ処理を実行したときに、処理が返ってこずExcelごと固まってしまうことがあります。 その場合の対処方法を書きます。 Ctrl + Breakキー(またはCtrl + […] 続きを読む
VBAの型宣言はした方がいいかどうか 公開日:2017年7月4日 困ったとき 型宣言を省略するとVariant型 VBAの変数宣言には型の宣言を省略することが出来ます。省略した場合はVariant型となります。 そのため、以下の2つの変数宣言はどちらも同じVariant型になります。 [crayo […] 続きを読む
個人用マクロブック(personal.xlsb)が見えない場合の対応 公開日:2017年7月3日 困ったとき 個人用マクロブック(personal.xlsb)が表示されていない いつものようにVBAの画面を開くと、なぜかpersonal.xlsbが見えないことがあります。 原因は正直言ってよく分からないのですが、実行できないマク […] 続きを読む