5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
ゲストさんの投稿
(投稿ID: 3887) 添付ファイルのダウンロード権限がありません
実際に変数を記述した式の順番、
これについて教えて頂けますでしょうか。
変数を、「必要だ」と自分が気付いた順番で記載すると、
'dim jusho
'jusho=range("C2").value
'dim ku
'ku = instr(range("C2").value,"区")
'dim gyo
'for gyo = 2 to 11
の順番になりました。
その後、'jusho=range("C2").value の("C2")の箇所を
'"(C & gyo)"に変更すると、
添付のようなエラーが出てしまいました。
これはおそらく、
「gyoという変数を宣言する前の行の記述にさかのぼって
"C2"の箇所にgyoを当てはめて使ってはダメだよ」
という意味だと思うのですが、
変数を宣言する(dim)記述と、
変数を定義する記述は、どの順番で書くのが正しいのでしょうか。
2つ以上の変数が必要になった場合、
必要だと判明した順番で書くと、
上から順に、'dim ばかりにはならず、きれいに揃いません。
それを整理しようとした時に、
どういう順番で整理するのが正しいのかをご指導願います。
小川 慶一さんのコメント
(コメントID: 5438)
> 「gyoという変数を宣言する前の行の記述にさかのぼって
> "C2"の箇所にgyoを当てはめて使ってはダメだよ」
> という意味だと思うのですが、
そのとおりです。
いただいた画像キャプチャでは、
となっています。
これは、 Dim gyo よりも前の行で(1行前)で変数 gyo に値を格納しようとしているのでNGです。
> 変数を宣言する(dim)記述と、
> 変数を定義する記述は、どの順番で書くのが正しいのでしょうか。
変数については、以下の動画で復習を。
基礎講座第1章8 - 変数を使ったプログラム、変数を使う意義
https://forum.pc5bai.com/lesson/page/104/
基礎講座第1章9 - 変数を活用するときの注意点
https://forum.pc5bai.com/lesson/page/105/
「注意点」でもお話しているとおり、変数を使うときの流れは、以下のとおりです。
[1] 変数を作る(宣言する、と言います)
[2] 変数に値を格納する
[3] 変数に格納された値を利用する
> 2つ以上の変数が必要になった場合、
> 必要だと判明した順番で書くと、
> 上から順に、'dim ばかりにはならず、きれいに揃いません。
> それを整理しようとした時に、
> どういう順番で整理するのが正しいのかをご指導願います。
質問の意味が分かりません。
以下の[a]-[c]どれかの趣旨のご質問でしょうか?
[a] Dim ... , Dim ... という変数宣言を、Subプロシージャ先頭のほうで固めて行いたい
[b] 特に意識しないでも上記[1]→[2]→[3]の流れで変数を使えるようになりたい
[c] 変数が登場する順序とそれらの変数を使う順序は一致しているべきか?
[d] それ以外(詳細に再度説明願います)
[a] であれば、話は簡単です。
「Dim ... とかは、 Sub ... の直後に書く」と自分でルールを決めることです。
[b] も、話は簡単です。
「あ、ここの固定値を変数で扱えるようにしよう」と思ったら、その直前(か、もっと前)の行に、 Dim ... という一行を書く。あとは、流れで。
[c] は、どうでもよいです。
[a], [b], [c] は、以下の違いがあるだけです。(変数宣言が、だいぶ前か、直前か?の違いだけ)
[a], [b], [c] について、「どちらのほうが優れている」とは、これだけでは言えません。