サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.banana-juice.com
VBAで整数を扱う型には、『Integer型』と『Long型』があります。 Integer型が扱える数字の範囲は、-32,768 ~ +32,767 です。 Long型が扱える数字の範囲は、-2,147,483,648 ~ +2,147,483,647 です。 上記範囲を超えた数字を設定しようとすると、オーバーフローを起こし、コンパイルエラーとなってしまいます。 Long型であれば許容範囲が広いので、オーバーフローはしないでしょうが、メモリのことを考えると無駄な領域は確保したくない、というのがプログラマの考えるところでしょうか。 さて今回は、この二つの整数型について、どちらを使用すればいいかを、性能の見地から検証をしてみたいと思います。 Int型 サンプルプログラム Sub int型() Const INT_MAX As Integer = 32767 Const INT_MIN As I
Sample1は、画面の更新を停止した後に、画面の更新状態を表示するソースです。 Sample2は、プロシージャ開始直後の、画面の更新状態を表示するソースです。 Sample3は、画面の更新を停止した後に、他のプロシージャで画面の更新状態を表示するソースです。 それぞれのプロシージャでは、MsgBoxに何が表示されるでしょうか?(True or False) 結論から言うと、 Sample1 : False Sample2 : True Sample3 : False です。 サンプルソースの解説ここで注目したい点は、Sample2とSample3で、結果が違う点です。 『Application.ScreenUpdating = False』をひとつ覚えしている初心者は、ここで意外な落とし穴にはまります。 どちらもSample2プロシージャで画面の更新状態を表示している点は同じですが、 S
なんだか「今でしょ」みたいなタイトルですね。 結論から言うと「Newは変数宣言時にしましょう」というお話です。 オブジェクト変数やクラス変数を作成するには、Newキーワードを使いインスタンスを生成する必要があります。 このNewキーワードは、『変数を宣言したとき』または『オブジェクトを参照させるとき』に使用します。 次のサンプルをご覧ください。 基本的には2つのうちどちらかで処理を書くと思います。
前回の1次元配列の検索では、ワークシート関数のVLOOKUP関数が圧倒的に速いことがわかりました。 しかし、セルは行×列で成り立っているので、2次元配列で検証しなければ、本来の検証とは言えません。 2次元配列の検索も、1次元配列のときと同様に、次の4つの方法で検証を行います。 セルをループさせる(For)セルをループさせる(For Each)Findメソッドを使用するワークシート関数(VLookup関数、HLOOKUP関数)を使用する 今回の検証では、250×250の2次元配列で検証をしてみます。 ぜひ1次元配列のときの結果と見比べてみてください。 セルのループ(For) サンプルプログラム
このページを最初にブックマークしてみませんか?
『www.banana-juice.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く