VBAのSetと代入の違い 公開日:2019年1月24日 困ったとき Setが必要かどうか見分ける方法 メソッドやプロパティがあるかどうかで判定する 変数への代入の際に、Setステートメントを付けるかどうかを判定する方法には2通りあります。 1つは、代入しようとしている変数にメソッドやプロ […] 続きを読む
VBAを実行中にExcelを使う方法 公開日:2018年12月31日 困ったとき 通常はVBAを実行している間はExcelを使えない VBAは開いているExcelアプリケーションに紐付いているため、VBAの処理を実行中はVBAのコードが書かれているブックだけでなく他のブックにも入力したり参照したりする […] 続きを読む
VBAでLike演算子の否定の書き方(含まれない検索) 公開日:2018年11月27日 困ったとき Not a Like bがLike否定の正しい構文 Notを付ける場所が分からない。VBAあるあるです。 「a Not Like b」だっけ? 「a Like Not b」だっけ? 「a Like Is Not b」だっ […] 続きを読む
VBAのIf文でインデントを深くしない方法 公開日:2018年10月7日 困ったとき インデントが深くなる理由 VBAに限らずどんなプログラミング言語でもよく見かけるのが深すぎるインデントです。深いインデントは見づらさだけでなく、バグの原因にもなるため、出来るだけ避けた方がよいです。 If文がどんどん深く […] 続きを読む
VBAの時刻書式hhmmssとhhnnssはどちらが正しいか 公開日:2018年9月24日 困ったとき 年月日と時分秒の書式 Format関数などで日時の書式を表す場合に以下のようなコードを見ることがあります。 [crayon-678b22fde8877639729110/] “m”が月(month […] 続きを読む
VBAの数値型で一番速いのはどれか 公開日:2018年9月9日 困ったとき 型によって速度に違いがある プログラミング言語でたまに話題になるのが「数値型はこの型が一番速いのでこれを使いましょう」という話です。VBAについても同じように型によって処理速度に違いが出ます。 そこで数値型のIntege […] 続きを読む
VBAのステートメントと関数の違い 公開日:2018年8月21日 困ったとき ステートメントと関数の違いは書き方が違う VBAでは記述の仕方でステートメントと呼ぶ場合と関数と呼ぶ場合に分かれるものがあります。 例えばFileCopyステートメントとFileCopy関数などです。 構文が以下のように […] 続きを読む
VBAでMod演算子がオーバーフローした場合 公開日:2018年7月19日 困ったとき Mod演算子がオーバーフローする理由 Mod演算子は余りを求める演算子です。たとえば、「7 ÷ 3 = 2 余り 1」の場合の1を計算します。 そして、Mod演算子は内部的にLong型の範囲が演算可能範囲になります。その […] 続きを読む
VBAでドット(.)を押しても入力候補が出ない場合 公開日:2018年3月4日 困ったとき 候補が出ないのは候補を出すべきクラスが分からないから VBAで各種オブジェクトの後ろでドット(.)を押すとメソッドやプロパティが表示されます。ところが同じようにドット(.)を入力しても入力候補が出ない場合があります。よく […] 続きを読む