• ベストアンサー

変数の宣言について。(マクロ、VBなど)

noname#415の回答

noname#415
noname#415
回答No.1

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

参考URL:
http://www.moug.net/
tamagosan
質問者

お礼

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

関連するQ&A

  • 変数を宣言する理由(エクセルVBA)

     タイトルどおりなのですが、何故変数を決める際に「Variant」や「Integer」等の定義をしないといけないのでしょうか?  自分でマクロを作成する時は、特に宣言をしていませんし、特に困ったことはありません。  しかし、マクロに詳しい人や、教えてGOO等で教えてもらうコードでは、必ずと言っていいほど、変数の定義をしています。  具体的な理由を知りたいのですが、初心者にもわかりやすいように説明いただけるとありがたいです。

  • エクセル VBA 変数を一括で宣言したい

    こんにちは。VBAプログラム初心者です。 変数を宣言する際、 dim オーダ番号 as long, オーダ番号2 as long, …オーダ番号100 as long という内容を一括で宣言することは可能でしょうか? イメージ的には下のような感じなのですが。。。 dim i as integer for i = 1 to 100 dim オーダ番号i as long dim 単価i as long next マクロで便利にするつもりが余計面倒になっていて困っております。 解決策を教えていただけましたら幸いです。 何卒よろしくお願いいたします。

  • Excel にて変数の宣言の仕方

    Excel2002を使用しています。 標準モジュール内で下記のように変数を宣言すると Dim i,k as long (例)kには、あるセルの値を取得します。10000 Keta=len(k) この結果、ketaには、「4」という結果になります。 10000なので、「5」が返らないといけないのですが、うまくいきません。 ところが、 Dim i ,k ,m as long このように変数kの後ろに他の変数(今回はm)を記載すると、 「5」という結果が返ってきます。 変数の宣言の仕方が間違っているのでしょうか? よろしくお願いいたします。 ちなみに、 Dim k as long としても、「4」の結果が返ってきました。 同じ行に他の記載をしないとうまくいかないようです。。。

  • Excelマクロで質問です。変数宣言をしてmyRowで得た数値を使って

    Excelマクロで質問です。変数宣言をしてmyRowで得た数値を使って、以下の処理を行うには、どうマクロを組んだら良いのか教えて下さい。(myRowで得た値が120と仮定します) (1)A2からD120の範囲指定 (2)A2からD12(→myRowの1/10、120/10=12。myRow/10は正しい使い方でしょうか?)の範囲指定 (3)もうひとつmyRowを使用する場合、   Dim myRow2 As Long   myRow2 = ....のように使用して良いのでしょうか? 以上、よろしくお願いします。

  • VB.Netの大域変数

    VB6ではイベント制御のため、共通モジュールに大域変数を Public gFlag As Integer のように記述していました。 最近になってVB.Netをはじめましたが、この大域変数がうまく動いてくれません。 とりあえずVB6の共通モジュールはクラスを追加して行うとあり、 クラスを追加して、そこで上記のようにPublicで宣言しました。 ところがFormのコードで使うと宣言されていませんと出ます。 そこで色々と調べてPublicは外部に公開されるメンバ??らしい ということは分かったのですが、クラス自体さっぱりです。 とりあえずクラスのお勉強は後回しにするとして、 大域変数はどのようにすれば使えるようになるのか教えて下さい。

  • 配列変数の宣言「その1」

    「その1」 僕の見たことのある配列変数の宣言の仕方は2種類あります。 (1)・・・ int hairetu[]; (2)・・・ int [] hairetu; 現在は配列変数であることが分かりやすいという点で (2)が推奨されているというようなことは本で読んだことがあります。 今まではどちらかというと(1)をよく使っていました。 そこで、みなさんのご意見を聞いて、 今後どちらを使うのか考えてみたいと思いました。 (1)の良い所や良くない所、(2)の良い所や良くない所などもあれば教えてほしいです。

    • ベストアンサー
    • Java
  • VB6変数の宣言dim j,k,p,m,n as Integerは良くない?

    お世話になります。 VB暦1年です。 汎用の変数宣言でタイトルのように dim j,k,p,m,n as Integer dim ssa,ssb as String など、カンマ区切りで変数宣言を使っていたのですが 最近、知人にasの手前の変数は型どおり宣言されるが その手前の変数はVariant型で宣言されてしまうと指摘されました。 指摘されるまで気にはしていませんでしたが ウォッチで確認すると変数に代入されるまでは 型がVariant/Emptyとなってます。 以後、気をつければいいのですが 過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。 後々、問題になるのかな?

  • 変数のタイプ

    Active Basicを使ってプログラムを書いています。 そのときに、変数というものがいまいち理解できなく、感覚で適当にしてしまいます。 たとえば、ファイルをを開くのダイアログボックスでファイルパスを取得するとき、Active Basicの本では、その文字列を格納するのに、 『Byte』を使っていました。 Dim buffer[MAX_PATH-1] As Byte といった風です。 しかし、本には、 バイト数:1 値の範囲:0~255 と書いてあります。 文字列を取得する場合はStringを使うのではないでしょうか? Byteでも、文字列を格納できるのでしょうか? 他にも、LongやDWordやIntegerやSingle、Dobleといったものがありますが、どう使い分けていいのかがわかりません。 すみませんが、分かる方、いらっしゃいましたらご教授願えませんでしょうか?

  • 別のSubで宣言されている変数を別のSubで参照

    よろしくお願いいたします。 環境:Excel2003 以下のようなイメージで別Sub内で宣言された変数を同じ変数名で別のSub内で参照したいです。 Sub hoge() nn As Integer nn = 1 End Sub Sub hogehoge() MsgBox (nn) End Sub Sub hogehogehoge() Call hoge Call hogehoge End Sub エラーが発生する為、typeについて検索をかけてみました所、以下のような変数参照方法は出てきましたが、別のSubで宣言されている変数を同じ変数名で別のSub内で参照する方法はないでしょうか? Type PData    hoge As String    hogehoge As Long End Type Sub Sample1()    Dim Pppp(5) As PData End Sub よろしくお願いいたします。

  • エクセルマクロ(VBA)の変数について教えてください。

     仕事でエクセルを利用してファイルを作ることが多いのですが、関数とマクロに課題のある者です。  マクロはそんなに高度で複雑なものが現状、必要でないので記録マクロで事足りていますが、私のやり方は  1.手順を記録  2.マクロの実行  3.ステップイン機能でステートメントの動作を見る  4.無駄な構文を削除  5.エラー(デバッグ警告表示)修正  6.日々替わる取り扱いファイル、シート名をそこだけ置き換えて汎用性を持たせている。  7.さらに動作を加えたい時は新しいマクロ記録で構文を記録し、ベースマクロに構文を追加している  8.日々更新変動されるファイルは情報量の余裕をみて、ファイルが想定を超えないように作っている。  9.記述式マクロ(VBA)が十分出来るスキルが乏しい  と言うのが私のレベルですが、参考書、テキストを読んでいると必ず、『変数』Dimスペルというものが出てきます。この意味がもう一つよく分からないので、ツール→オプションのダイヤログボックス編集で『変数の宣言を強制をする』を外しています。  変数は実行の都度変わる値を扱ったり、代入すると言うことは何となく分かるのですが、完全に理解できてないので、(記述が分かりにくい)そこから前に進めません。  サンプル例はありますが、詳しく解説しているものが少ないです。『何故、こうなるか?』というのが抽象的な説明です。  『変数宣言を強制』にチェックを入れた場合、今まで、チェック無しで作ったマクロファイルは動作しませんか?  たまに自動メンバー表示機能から構文を挿入しますが、個々のプロパティやメソッド、コレクションなど記述構文は英語ですが、これを日本語に置き換えて理解できるようにしたいのですが、皆さんはどのようにされたのですか?