「困ったとき」の記事一覧

VBAでMod演算子がオーバーフローした場合

Mod演算子がオーバーフローする理由 Mod演算子は余りを求める演算子です。 たとえば、「7 ÷ 3 = 2 余り 1」の場合の1を計算します。 そして、Mod演算子は内部的にLong型の範囲が演算可能範囲になります。 ・・・

VBAでドット(.)を押しても入力候補が出ない場合

候補が出ないのは候補を出すべきクラスが分からないから VBAで各種オブジェクトの後ろでドット(.)を押すとメソッドやプロパティが表示されます。ところが同じようにドット(.)を入力しても入力候補が出ない場合があります。よく・・・

UBound関数に配列を返す関数を渡すとメモリリークする

UBound関数やLBound関数に配列を返す関数を渡すとメモリリークする VBAはあまりメモリリークが発生することはないのですが、それでも発生する場合があります。 Microsoftのサポートページには、 「UBoun・・・

VBAでクラス変数の宣言とNewを1行で書いてよいか

クラス変数のNewは1行でも書けるし2行に分けても書ける FileSystemObjectクラスやRegExpクラスなどVBAでクラスを利用することがあります。 そのときに、クラスのインスタンス変数をコードに書くときに2・・・

VBAのByte単位用関数の問題点

Byteの単位が日本語圏では異なる Left関数とLeftB関数のように、Bが付かない関数と付く関数が用意されているものがあります。 一般的には、Bが付く関数はバイト単位である、という説明がされているのですが、これは日本・・・

VBA関数の$ドルマークの意味

$が付くVBA関数 VBA関数の中にはLeft$関数のように$が付くものがあります。 先に答えを書いてしまいますが、$がない関数を使ってください。$ありを使うとNull判定処理が必要になるのが主な理由です。 $ありの関数・・・

CharactersオブジェクトのCountプロパティのバグ回避方法

CharactersオブジェクトのCountプロパティのバグ 一般的にCharactersオブジェクトのCountプロパティは文字数を取得するプロパティと紹介されているのですが、それは半分は正しいのですが半分は間違いです・・・

ColorプロパティとColorIndexプロパティの違い

VBAでセルの文字に色を付ける場合、ColorプロパティやColorIndexプロパティを利用します。 色の扱いはExcel2007から随分変わりました。 ColorIndexプロパティでは後述のいくつかの問題があります・・・

VBAのSelectとActivateの違い

SelectとActivateは親オブジェクトが異なる SelectメソッドとActivateメソッドはそれぞれ対象となる親オブジェクトが異なります。 Selectメソッドの親はセルのRangeオブジェクト、ワークシート・・・

VBAがループ等で固まった場合の対応方法

VBAでループ処理を実行したときに、処理が返ってこずExcelごと固まってしまうことがあります。 その場合の対処方法を書きます。 Ctrl + Breakキー(またはCtrl + Pauseキー) 固まっているVBAの画・・・

サブコンテンツ

このページの先頭へ