• ベストアンサー

VBA超初心者の質問ですけど・・・

VBAを勉強しています。超初心者の質問なんですけど、モジュール 変数 引数 関数 定数 このへんのことがごっちゃでよく区別がつきません。軽い説明でもいただけたらうれしいです!教えてくださいm(__)m

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

  • ベストアンサー
  • Ryuku
  • ベストアンサー率28% (2/7)
回答No.1

モジュールは作ったプログラムを保存するときに一つのファイルとなる単位です。フォームを作る度に「フォームモジュール」が一つ出来る。(あまり深く考えないでいいと思います) 変数は数字をわかりやすい言葉に置き換えることとでも言いましょうか。 たとえば 一個100円のもの20個の値段を出したければ Kosuu(個数のこと) Tanka(単価) Goukei(合計) という変数を作れば Tanka = 100 Kosuu = 20 と置き換えることによって Goukei = Tanka * Kosuu と計算する、といったように使います。 関数は先ほどの例で言えば Goukei = Tanka * Kosuu というのを一つの関数としてあらかじめ作ることによって合計を出したいときには Tanka Kosuu の値を指定して関数を呼び出すことによってGoukeiが出てくるというものです。関数に関しては実際に演習でもやってみると簡単に解ると思いますよ。 そして引数はこのときの関数で言うところのTankaとKosuuのことです。 定数は変数と同じようなものですが 変数はプログラムの途中で値が変えられるのに対し変えることが出来ません。 たとえばリンゴの計算をするときに Tanka = 100 として計算した後にミカンの計算をするときには再び Tanka = 50 のようにしてTankaの変数の値を変えることが出来ますが 定数として Tanka = 100 としてしまうとプログラムの途中で変えることは出来ません。 変数にしておいて万が一どこかで値が代わってしまうといけないときに定数にします。 言葉で書くとこんな所ですが実際に演習でもしてみてから言葉を覚えた方がいいですよ。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

変数と定数 質問に○数と数がついた言葉が4つありますが、算術の数のイメージを捨ててください。算数の数直線をイメージしてください。それがメモリーのイメージです。メモリーの一部(したがってスタートポイントがあり)が何バイトか(したがって終わりがある)確保されている。1バイトを最小にして何バイトかの領域が確保される。何バイトになるかは変数の型で決まり、言語仕様で決まる。個々の変数は変数名を持ち、メモリー上に(スタートアドレスと長さ)を持ち、変数(名)はスタートアドレスに名前をつけ扱い憶えやすくして、長さを(陰に)背負わせたものといえる。コンピュータはその領域に値をセットできる仕組みがあり、上書きすれば前の内容は消え、上書きした内容に置き換わる。Basicは徹底してアドレスの考え、それを指し示すポインターの考えを隠しており、長さもLen,Midなど関数を考えるときに意識するぐらいでこれが初心者向けといわれる1つの理由と思う。 定数は変数にプログラマーの指定する内容をセットしたものと考えられる。ただVBではConst a=2 a=3はエラーにしている。それは そのルーチン(スコープ)中は内容を変えないという考えを具現しているに過ぎない。代入式の右辺に書く値そのものを「リテラル」と言うことにすれば、Constを使わなくてもc=1とかc=”a”のリテラル表記をその言語がゆるせば、目的は達せられる。自分で変えなければ良いのだから。 変数に内容をセットする仕方は (1)ファイルから読みこみ Input#1,a (2)キーボードから入力してa=Inputbox(”a=”) (3)演算して a=b+2 (4)他の部分より移送 a=c  (5)リテラル利用 a=3 a=”abc” (6)定数利用 Const a=3.14 (7)システムから a=Today() 定数を使う場面は (1)数学の定数と同じく演算式 y=a*x+cのa,c (2)比較の右辺 If a=c Then のc (3)VbRedやxlThinなどの実は決めたコードを単語らしく表現 (4)具体的に順序数として a(c) のc For i=1 To 3 と Start=1 End=3 For i=Start to End と は同じなのだが、何かが違うと思う

関連するQ&A

専門家に質問してみよう