こんにちは。
マクロの本を買って今勉強しているのですが、「変数の宣言」がどーしたらよいかわかりません。何のことか説明を読んだだけではまったくさっぱりわかりません。とっても重要なような気がするのですが、その点についてあまり詳しく載っていないのです。今は本のとおり書いているだけです。
f1押しても 戻すとか 取得するとか難しくて(馬鹿でごめんなさい。)なんのことやらわかりません。家族は「気にしなくていい(怒)」といいますが、そういう問題でもなさそうなのでぜひ解り易く教えて下さい。
ちなみにIntegerというのとLongというのはどう使い方が変わるのですか?
質問が漠然としててごめんなさい。(;;

このQ&Aに関連する最新のQ&A

A 回答 (4件)

hyper-teikaさんが言われているように


Integer:整数型(-32,768 ~ 32,767の整数)
Longは長整数型で
(-2,147,483,648 ~ 2,147,483,647の整数)です
ちなみにIntegerは2Byte、Longは4バイトです。
小数点を含む場合は
SingleやDoubleですね
Single:単精度浮動小数点数型
Double:倍精度浮動小数点数型

他にも
Currency:通貨型
Date:日付型
Boolean:ブール型(真or偽)
Variant:バリアント型
・・・etcがあります。

文字列はおそらくString型でOKですけど
数字に関しては
桁数、小数点を含むかによって若干調整が必要に
なってきます。
どのような数値が格納されるか等を解析して
設計してください。
やっぱり慣れ(経験)は重要だと思いますよ。
失敗すれば覚えるんで、失敗を恐れずに頑張ってください
    • good
    • 0
この回答へのお礼

duckさん
ありがとうございました。
調べつつ色々挑戦してみます。どうしてもわからなくなったら、また質問するかもしれませんが、その時はよろしくお願いします。

お礼日時:2001/01/23 21:16

VBでのデータ型の宣言について補足します


Dim 変数名 As データ型 を指定すると、その変数を1個使用するごとに
メモリを使います
整数はIntegerでは-32768~32767で、それを越える数値が変数内に格納されると
桁あふれ[オーバーフロー]のエラーが出ます。
それ以上の数値を使用するかの星がある場合ははLong型で宣言します
SingleとDoubleも同様で、duckさんのご指摘の通りです

Variant型は、消費メモリが16バイトと大きいですが、あらゆるデータが格納できます。
この型で宣言しておいてとから型変換する方法もあります(あまりお勧めできませんが)
Boolean型はTrueまたはFalseのいずれかの値を変数に格納するためのもので、IF~
などの条件判断をするときに使用するものです
    • good
    • 0
この回答へのお礼

koyuriさん
ありがとうございました。
おっしゃるとおり「オーバーフロー」という字をよく見掛けます(^^;
あせらず少しずつ覚えていきます。詳しく書いて下さって助かります。

お礼日時:2001/01/23 21:22

さっきのに補足です。


私が数値をあつかう場合
はじめの頃は、
小数点を含まない
 桁数が多い整数はLong、
 桁数の少ない整数はInteger
小数点を含む
 桁数が多い数はDouble、
 桁数の少ない数はSingle
で設計してました。
一概には言えないですが参考にしてください。
    • good
    • 0
この回答へのお礼

duckさん
ありがとうございました。
解り易い上、補足までして下さって、本当にうれしいです。
頑張ってプログラム出来るようになりたいです。

お礼日時:2001/01/23 21:28

Integer:整数型、-32,768~32,767の整数


Long:長整数型、上記以上の桁数で、小数点を含む数値

習うより慣れよ! です。動かない、上手くいかない、おかしいな? と云ったことの繰り返しで覚えていきます。
個人的には、大村あつしさんの本がお勧めです。また、色色な情報を得たり、そのメールマガジンの申し込みなど、下記へどうぞ。
追伸:このネタもかの著者の『Excel2000 VBA 基礎編』からです\^o^/。

参考URL:http://www.moug.net/
    • good
    • 0
この回答へのお礼

hyper-teikaさん
ありがとうございました。さっそく参考URLに行って来ます。たくさんやって楽しく頑張ります。

お礼日時:2001/01/23 21:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qワードで机とかテーブルとかイスとかをマークで表わしたい

ワードで机とかテーブルとか本棚とか椅子とかをマークというか記号というかで表わせますか?
ちょっとしたレイアウトを表示させたいのです。どなたか方法を教えてください。できれば簡単な方法だと嬉しいです。宜しくお願いします。

Aベストアンサー

オートシェイプで作成するのは駄目ですか?
長方形や楕円を組み合わせた単純な構造のもので、ご自分の中にそれなりのイメージがあるのでしたら、ひとつ30秒とか1分くらいでできますけど。

脚、台の部分などのパーツをまず作成し、後で組み合わせる。各パーツの重なりの上下(最前面、最背面)を右クリックで指定。各パーツをグループ化すれば移動、コピー&ペースト、拡大縮小もそれなりに容易になります。

QIEとかNNとかに組み込むFLASHのプラグインを削除するには?

現在FLASHのHPを作成している者です。
いろいろなHPで活用されている「FLASHのプラグイン」ですが、
インストールは簡単なのですが、このプラグインの削除をして、
プラグインが無い場合に、どういう表示になるのかを確認したいのですが、
削除の仕方が分かる方いらっしゃいましたら、
ご回答のほどよろしくお願いいたします。

Aベストアンサー

参考URLに、Flash Player のアンインストール方法 があります。

参考URL:http://www.macromedia.com/jp/support/players/ts/documents/pl0100.html

QVBAでLong型同士の乗算について

すいません。タイトルの件で
Long型同士での乗算なのですが...
以下のマクロがどうしてもオーバーフローになってしまいます。
(SLはLong、Double、Variantにしてみましたが全てオーバーフロー・・)

すいませんが御教授お願いします。
(普段からあまりデータ型をあまり意識してないのがバレバレですね(>_<)


Option Explicit

Sub Macro1()
Dim AL As Long
Dim BL As Long
Dim SL As Variant

AL = 65535
BL = 65535
Cells(1, 1) = AL
Cells(1, 2) = BL
SL = CVar(AL * BL)
Cells(1, 3) = SL

End Sub

Aベストアンサー

こんばんは。

>SL = CVar(AL * BL)

Long型同士で計算して、代入値のSLの精度自体をあげることは出来ないと思います。Long型の精度の上には、Currency やDouble型がありますから、以下では、Double型を使ってやってみました。

だから、もし、計算するのなら、計算値の値の型の精度を上げるか、最初の宣言で、精度を上げておかなくてはなりませんね。

たとえば、以下のようにします。

以下の方法を「型の昇格」と呼びます。
SL = AL * CDbl(BL) '片方の型の精度を上げて計算すると、計算結果の精度が上がる

もしくは、型の宣言を最初からあげておくことなのです。

Dim AL As Double
Dim BL As Double
Dim SL As Double

Q変数の宣言の名称を教えてください。(Dim i As Long)

Dim i As Longについて

「dim」→?
「i」→変数名
「As」→?
「Long」→変数の型

というように、dimとAsがなんと言えばいいのかわかりません。
アドバイスよろしくお願いします。

Aベストアンサー

>「i」→変数名
という形と合わせるのなら、以下のような感じでしょうか?
(意味についてのご質問ではないと受け取りました)

Dim・・・ステートメント
     変数の(型)宣言に用いる
AS・・・・キーワード
     変数や関数の型を示したり、フォルダ(やファイル)名を
     示したりするのに用いる

QマクロとかVisual Basicを習いたい。

Visual Basic を覚えたいのですが、参考書がたくさんありすぎてどれを選んだらいいのか迷っています。お勧めのものがあったら教えていただきたいのですが。本屋にあるのを全部買って読め! なんていう回答は勘弁してください。

Aベストアンサー

こんにちは。

Office カテゴリでお聞きになっていますので、導入からすると、Excel VBAでよいかと思います。Visual Basic は、今は、.Net ですから、書き方が違ってしまいますので、混乱してしまいかねません。Word や Outlook のVBAの資料は手に入りにくいです。また、特にWordのVBAは、Excelのものとは印象がかなり違っています。Accessは、VBA自体よりもマクロを優先します。

それから、書籍の当たり外れは、かなり大きいです。お得だと思って、易しい部分から、難しいものまで書いてあるようなものは、途中で嫌になりますし、単発の技がいくつも出ているようなものは、それだけにしか応用できません。特に、単発の技が書かれているものには、理屈が書かれていませんので、覚えられません。

最初に、コレクション・オブジェクト・メソッド・プロパティや変数の型など、基本的な概念の書いてあるものを選んだほうがよいですね。ネットのサイトなどには、ほとんど、書いていません。

参考:
「かんたんプログラミング Excel2003」シリーズ
(まだ、Excel 2002 のほうも手に入るはずです)

参考URL:http://www.amazon.co.jp/exec/obidos/ASIN/4774119660/vbaajpn-22/249-1462390-5530743

こんにちは。

Office カテゴリでお聞きになっていますので、導入からすると、Excel VBAでよいかと思います。Visual Basic は、今は、.Net ですから、書き方が違ってしまいますので、混乱してしまいかねません。Word や Outlook のVBAの資料は手に入りにくいです。また、特にWordのVBAは、Excelのものとは印象がかなり違っています。Accessは、VBA自体よりもマクロを優先します。

それから、書籍の当たり外れは、かなり大きいです。お得だと思って、易しい部分から、難しいものまで書いてあるようなものは、...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報