• ベストアンサー

変数の宣言について

VBですけれども 変数の宣言なしに For i  ・  ・   ・ Next i などを記述しますと「変数の宣言がされていません」 というメッセージがでるのですが、テキストなどでは 変数の宣言などしていなくとも動作しますこれはどうして どういうことなのかご存知の方教えてください。 Dimとかの宣言もなしにです。 著書は 独習Visual Basic 6.0 などです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

コードの先頭に、 Option Explicit って行があると思います。 これがあると、変数の宣言が強制になります。 これを消すと、宣言しなくても良くなるのですが、消さない方が絶対にいいです。変数のスペルミスとかがチェックできなくなるので。

zata-mr2
質問者

お礼

有り難う御座います。Option Explicit は残しておいた方がいいのはわかりました。宣言については必要に応じて利用したいと思います。

その他の回答 (1)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

ちなみに、[ツール]-[オプション]で、「変数の宣言を強制する」にチェックが付いていると、Option Explicit付きが初期状態になります。

関連するQ&A

  • VBでの変数宣言は1行に2つできないのですか?

    Visual BASICで変数宣言は1行に2つ以上記述しても実際、動作します。 例 DIM A、B as Integer このように宣言すると、AもBも整数となります。 しかし、このように宣言して、この変数を Call サブプログラム名(B) のように、パラメ-タとして引き渡そうとするとエラーとなってしまうようです。 よくわからないまま、 DIM A as Integer DIM B as Integer と分けて記述したらエラーがきえたようです。 変数宣言は1行に2つ以上まとめて記述してはいけないのでしょうか? VBは Ver 5 です。

  • vb.netって変数宣言、不要ですよね?

    vb.netって変数宣言、不要ですよね? For i = 1 To 10 MsgBox(Str(i)) Next このコードで動いちゃいました。

  • まとめて宣言。まとめて使用

    VB.NET2002を使用しています。 データベースへ複数アクセスするための変数宣言を書いているのですが、 構文は同じなのでまとめることはできないかと思っています。 VB.NETにはそのような機能?考え方?ってないのでしょうか? ご存知の方がいれば教えてください。 例えば Dim Con○ As New System.Data.OleDb.OleDbConnection(sCon) sCon・・・DBアクセス定義情報変数 Con○・・・今回の質問変数。ここを Con1 ,Con2 ,Con3 のように宣言しているのでC for i=1 to 3 dim Con & x next のようにまとめたいのです。 使用するときも変数末尾が違う物が対応するとお考え下さい。 なにか必要な情報がありましたら補足致します。

  • 変数を動的に作るには?

    変数を作成する際には必要な分だけ一つずつ宣言する必要があるのでしょうか? 例えば、連番を格納する文字列型変数を一時的に100個必要だとすると Dim textdat1 As String = "Number1" Dim textdat2 as String = "Number2" Dim textdat3 as String = "Number3"      ・      ・      ・ と100個宣言しないといけないと思うのですがこれを For i As Integer = 1 To 100 Dim textdat(i) As String = "Number" & i Next i という様な形で変数を作成することは出来ないのでしょうか。 初歩的な質問かもしれませんが、よろしくお願いします。

  • VB6の変数宣言について

    VB6で変数を宣言するときにいちいち新しいプロシージャのたびに新しく宣言しなおすのがすごく不便です。 Dim A As Integer A = 12345 と毎回宣言すると見た目も悪いですしいろいろと不便です。 どのプロシージャにも A と書けば必ず 12345 を呼び出してくれるようにはできないのでしょうか?

  • エクセル 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 マクロで便利にするつもりが余計面倒になっていて困っております。 解決策を教えていただけましたら幸いです。 何卒よろしくお願いいたします。

  • VB.NETで変数を繰り返し宣言

    VB.NETでテキストを読み込み、その内容を1行ずつ変数に入れたいのですが テキストファイルの行が一定では無く、変数を予め大量に宣言するわけにもいかないので ForNextの間に宣言の処理を入れて数を1つずつ増やしながら変数を宣言する と言った事は出来ますでしょうか? 例えば テキストファイルの行が15行だったら TextLine1からTextLine15までに1行ずつ入れる感じです 初歩的な質問ですが詳しい方回答よろしくお願いします

  • 変数の宣言について

    VB2008を使用しています。 Excel内の文字をTextBoxに表示させているのですが、Excelのセル名を変数を使用して表示したいのですが上手くいきません。 TextBox1.Text = sheet.Range("A1").Value は正常に作動 TextBox1.Text = sheet.Range("A"&"1").Value も正常に作動 そこで、Aを変数にしようと考えたのですが、 Dim COLUMN As String Dim A As String COLUMN = A TextBox1.Text = syokuin.Range("COLUMN" & "1").Value としたところエラーになってしまいます。 解決策をご存知の方みえましたらよろしくお願いいたします。

  • VB2010で、変数の宣言がわかりません。

    VB2010で、変数の宣言がわかりません。 Option Explicit Public i, j, k, l As Long Public ii, jj, kk, ll As Long Public lngFileSuu As Long Public strTemp As String ・ ・ ・ と標準モジュールに宣言すると エラーがでています。 VB6.0とは宣言方法が違うのでしょうか? 教えてください。よろしくお願いします。

  • 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」の結果が返ってきました。 同じ行に他の記載をしないとうまくいかないようです。。。