- ベストアンサー
Excelで変数名に変数を使用(前はできたのに…)
http://oshiete1.goo.ne.jp/kotaeru.php3?q=614375 で以前も教えていただいたんですが、なぜかできなくて…。 Sub Hensuu() For i = 1 To 5 Gyou(i) = i * i MsgBox Gyou(i) Next i End Sub と試しにしてみたんですが、 「コンパイルエラー: Sub または Function が定義されていません。」 と出てしまいました。 どこがいけないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
配列を使用する場合は、変数宣言を省略できなかったように記憶しています。↓のような内容を最初に記述すればエラーが出ないハズです。 Dim Gyou(1 To 5)
その他の回答 (1)
- popesyu
- ベストアンサー率36% (1782/4883)
配列の前にまず「変数の宣言」の概念をきっちり押さえておきましょう。 どんな変数でもまずどこに使うのか、どのような値が入るのかを最初に宣言するのがルールです。 がVB、VBAはその辺が適当なんで変数を正式に宣言しなくても使えたりするのが問題なのですけどね。 但し配列はちゃんと宣言しておかないと使えない(おそらく関数と区別が付かないのかと思います)ようで、正式な手続きを踏んでおく必要があるかと思います。 ひとまずこうしておけば動きます。 --- Sub Hensuu() Dim Gyou(5) as integer Dim i as integer For i = 1 To 5 Gyou(i) = i * i MsgBox Gyou(i) Next i End Sub --- まぁこれですと配列が0-5の決め打ちなので、本来はもっと動的に扱えるようにするべきなんでしょうが。そういうことをやる前に、まずは変数の型からでも勉強しましょうね。
お礼
回答ありがとうございます。 #1のお礼にもかきましたが、変数宣言を試しに自分でいれてみたんですが(Dim Gyou(i) as integer としました)エラーになったんで削除してしまってました。 それで省略してかいてみたりして試行錯誤してました。 ありがとうございました。
お礼
回答ありがとうございます。 変数宣言を試しに自分でいれてみたんですが(Dim Gyou(i) as integer としました)エラーになったんで削除してしまってました。 なるほど。複数の変数を宣言する時はこんな風にかくと簡単にできるんですね。 知りませんでした。