ここから本文です

VBA 変数の型 Integerは極力使用しないとの意見をたまに目にします 意図してメ...

lor********さん

2019/2/2208:07:12

VBA 変数の型

Integerは極力使用しないとの意見をたまに目にします
意図してメモリーを節約する目的がない限り
Longにしたほうがパフォーマンス面でも有利であり、

16bitのIntegerであっても、32bitOSでは32bitとして扱われるので
意味がない とのことですが
あまりその辺りは意識せず IntegerとLongを使い分けしていました
少数が入る場合は面倒なのでVariantを使っています
True ,Falseだけの場合はBooleanです

皆さまはどのように意図して使い分けされますか?

閲覧数:
68
回答数:
4

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2019/2/2212:31:12

https://www.banana-juice.com/VBA/Performance/Statement/IntLong.html

参考にしてください。

<16bitのInteger型は、一度32bitに変換してから処理を行います。>

これがこのサイトの結論のようです。

  • 質問者

    lor********さん

    2019/2/2215:02:50

    Longが早い という件は
    まさに目からうろこなんです

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

hot********さん

2019/2/2212:23:43

Longの方がいいとも思いますが、変わるパフォーマンスが少ないので、VBA以外は基本的な整数型はIntegerなので、基本的にはInteger使ってます。

ただ、必要な時以外のVariantはやめた方がいいと思います。
1個16バイトのメモリを消費するので、恐ろしい無駄遣いになります。
あと、代入式の左辺にVariantがくると、右辺の結果で勝手に型が変わるので、バグの原因になるので、極力使いたくないです。

小数はお金の場合はCurrencyの方がいいと思います。
小数をVariantで使うと、16バイト使うけれど、内部的には8バイトのDouble(倍精度浮動小数点数型)になるので、8バイトが無駄になります。


とりあえず、IntegerとLongはどちらでもいいけれど、Variantは極力やめた方がいいと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

c72********さん

2019/2/2212:03:49

文字はString、数字はLong(小数点有りはDouble)、スイッチ系に使う場合はBoolean、ブックはWorkbookでシートはWorksheet、セルはRange。
以外は未指定ですねぇ…独学なので、いろいろ偏ってる部分もあります。

a_h********さん

2019/2/2211:56:59

配列の添え字などの時にはInteger
それ以外は未指定でValiantに自動設定
と意図的にしています。

職場でも使用はしてますが仕事としては使っていないので、このような設定です。
業務でVBAを触っているわけでは無いので我流です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる