1. TOP
  2. Excel
  3. プログラミング(1)「=(代入)」の考え方

プログラミング(1)「=(代入)」の考え方

目次

プログラミングを始めたころ、まず混乱したのが「=」の考え方でした。
(※言語により記号の記述が異なりますが基本的な考え方は同じだと思います)

新入社員さんがプログラミング研修を始めたばかりの頃にも、同じように悩んでいる光景を何度か見たことがあります。が、一度理解してしまえば大丈夫です!

今回はExcelVBAを使用して記述していきます

(1)テストソースの準備



Excelシートにこのようなテスト画面を作成しました
「処理を開始」をクリックすると呼び出されるコードを書いていきます

 
Sub テキストボックス1_Click()
    Dim ValueA As Integer
    Dim ValueB As Integer
    Dim ValueC As Integer
 
   'それぞれの変数の初期値を表示させる
    MsgBox ("初期値 ValueA=" & ValueA & " ValueB=" & ValueB & " ValueC=" & ValueC)
     
End Sub
  ValueA、ValueB、ValueC3つの数値変数を用意しそれぞれの初期値を表示させてみました
結果はすべて0になっています



 
スポンサードリンク

(2)「=」は「等しい」という意味ではない!

先ほどのソースを少し修正してValueAに値を代入してみます

Sub テキストボックス1_Click()

    Dim ValueA As Integer
    Dim ValueB As Integer
    Dim ValueC As Integer
    
    'ValueAに値を代入
    ValueA = 150
       
    'それぞれの変数の値を表示させる
    MsgBox ("値 ValueA=" & ValueA & " ValueB=" & ValueB & " ValueC=" & ValueC)
      
End Sub

  実行した結果です

(1)で全ての変数の初期値として0が入っていましたよね
それなのに「ValueA = 150」って・・
「ValueA = 150」の式は
「ValueAは150と等しいです」と言い放っているわけではないのです
「ValueAに150を代入します」と処理させているのです


 

(3)応用してみます

先ほどのソースをさらに修正してみます

Sub テキストボックス1_Click()
 Dim ValueA As Integer
 Dim ValueB As Integer
 Dim ValueC As Integer
 
 'ValueA~Cに値を代入
 ValueA = 150
 ValueB = 300
 ValueC = ValueA

 'それぞれの変数の値を表示させる
 MsgBox ("値 ValueA=" & ValueA & " ValueB=" & ValueB & " ValueC=" & ValueC)
 
End Sub
実行結果の予想をしてみます



結果は予想したものと合っていましたか?

 
プログラムソースでの「=」は「等しい」という意味ではなく「値を代入する」意味として記述します

   
「ExcelVBAに関する書籍」を
楽天で探す     

「プログラミングに関する書籍」
yahooで探す     

スポンサードリンク


コメントを書き込む

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

CAPTCHA