<tr><td colspan=4>OS名:WindowsMeパソコン名:ME4-535ソフト名:EXCEL2000最近VBAを勉強しだしたのですが、どうしても変数を使う意味がわかりません。たとえば、sheet1のe2に205と入力してあったとします。Sub example3()Dim msg As IntegerWorksheets("sheet1").Selectmsg = Range("e2").ValueMsgBox "合計点を表示します。"MsgBox "合計点は" & msg & "点です。"End Subと、ある教材に出ていたのですが,これをSub example3()Worksheets("sheet1").SelectMsgbox"合計点を表示します。"Msgbox"合計点は" & range("e2").value & "点です。"End Subとしてはいけないんでしょうか?ちなみに結果は同じになりました。それともこれから先、この方法では困るのでしょうか?VBAに詳しいい方、よろしくお願いします。
◇-VBAの変数についてなんですが・・・-えみ(3/29-13:50)No.227
 ┗Re:VBAの変数についてなんですが・・・-Rei(3/29-21:01)No.240
  ┗Re:VBAの変数についてなんですが・・・-milkhouse(3/30-00:24)No.257

▲このページのトップに戻る
227VBAの変数についてなんですが・・・えみ 3/29-13:50

OS名:WindowsMe
パソコン名:ME4-535
ソフト名:EXCEL2000
最近VBAを勉強しだしたのですが、どうしても変数を使う意味がわかりません。た
とえば、sheet1のe2に205と入力してあったとします。
Sub example3()
Dim msg As Integer
Worksheets("sheet1").Select
msg = Range("e2").Value
MsgBox "合計点を表示します。"
MsgBox "合計点は" & msg & "点です。"
End Sub

と、ある教材に出ていたのですが,これを

Sub example3()
Worksheets("sheet1").Select
Msgbox"合計点を表示します。"
Msgbox"合計点は" & range("e2").value & "点です。"
End Sub

としてはいけないんでしょうか?ちなみに結果は同じになりました。それともこれ
から先、この方法では困るのでしょうか?VBAに詳しいい方、よろしくお願いしま
す。

▲このページのトップに戻る
240Re:VBAの変数についてなんですが・・・Rei 3/29-21:01
記事番号227へのコメント
えみさんは No.227「VBAの変数についてなんですが・・・」で書きました。
>ソフト名:EXCEL2000
>最近VBAを勉強しだしたのですが、どうしても変数を使う意味がわかりません。た
>とえば、sheet1のe2に205と入力してあったとします。
>Sub example3()
>Dim msg As Integer
>Worksheets("sheet1").Select
>msg = Range("e2").Value
>MsgBox "合計点を表示します。"
>MsgBox "合計点は" & msg & "点です。"
>End Sub
>
>と、ある教材に出ていたのですが,これを
>
>Sub example3()
>Worksheets("sheet1").Select
>Msgbox"合計点を表示します。"
>Msgbox"合計点は" & range("e2").value & "点です。"
>End Sub
>
>としてはいけないんでしょうか?ちなみに結果は同じになりました。それともこれ

挙げられているサンプルに関してはどちらでも良いと思います。
ほとんど同じ事を記述していますし、結果的には同じです。

変数を使うと、

Dim msg As Integer
Worksheets("sheet1").Select
If Range("e2").Value = 0 Then 'e2が0だったら
msg = Range("e3").Value 'e3の値を表示する。
Else
msg = Range("e2").Value
End If
MsgBox "合計点を表示します。"
MsgBox "合計点は" & msg & "点です。"

のような事が書けるようになります。

これもmsgという変数は使わなくても書けるのですが、
複雑なことを記述しようとすると絶対に必要になると
言いたいだけですので。

▲このページのトップに戻る
257Re:VBAの変数についてなんですが・・・milkhouse URL3/30-00:24
記事番号240へのコメント
>これもmsgという変数は使わなくても書けるのですが、
>複雑なことを記述しようとすると絶対に必要になると
>言いたいだけですので。

サンプルは変数を使用しないと処理できないのではなく、
変数を使ってみる練習ですね。

変数はLoopなどのルーチン内で中身がどんどん変わっていくときの
ための入れ物と考えればわかりやすいですね
勉強を進めていく上で必ず必要になってきます。

オブジェクト変数に対して定数というものもあります。
よく理解して使いこなして下さいね。

p.s. 同じ事をやるとすればプログラムは短ければ短い方がいいです。