1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excel VBAコース第8回内容

Last updated at Posted at 2019-05-27

全12回 Excel VBAコースの第8回の内容です。

#プロシージャとは
プログラミングで、複数の処理を1つにまとめたもののことです。
例えば、VBAで言うと、Sub 〇〇 ~ End Sub までが1つのプロシージャです。

VBAで初めに理解すると良いのは、「Subプロシージャ」と「Functionプロシージャ」です。

#プロシージャの呼び出し方
・Callステートメント
・Callは省略可能
・Functionプロシージャは、関数として呼び出し可能

Sub MainSub()

    Call プロシージャ名
    
End Sub

Sub プロシージャ名()
    
    Cells(1, 3).Value = Cells(1, 1).Value + Cells(1, 2).Value 
    
End Sub

####※なぜプロシージャを分けるのか?
・処理の共通化(同じ処理を何回も書かなくて良くなる)
・可読性・可視性の向上(読みやすい、見やすい)

#引数と戻り値
・引数=プロシージャに値を引き渡すもの
・戻り値=プロシージャから値を戻すもの(Functionプロシージャのみ可能)

引数の例
Sub MainSub()
    Dim X As Integer
    Dim Y As Integer

    X = Cells(1, 1).Value 
    Y = Cells(1, 2).Value 

    Call プロシージャ名(X , Y)
    
End Sub

Sub プロシージャ名(a As Integer, b As Integer)
    
    Cells(1, 3).Value = a + b
    
End Sub
戻り値の例
Sub MainSub()
    Dim X As Integer
    Dim Y As Integer

    X = Cells(1, 1).Value 
    Y = Cells(1, 2).Value 

    Cells(1, 3).Value = プロシージャ名(X , Y)
    
End Sub

Function プロシージャ名(a As Integer, b As Integer) As Integer
    
    プロシージャ名 = a + b
    
End Function

#SubプロシージャとFunctionプロシージャの違い
・Subプロシージャ・・・マクロとして登録可能(マクロボタン等)
・Functionプロシージャ・・・戻り値を返せる(関数として利用可能)

#変数の適用範囲
宣言の仕方によって、変数の適用範囲が変わります。

・Dimでプロシージャ内:宣言したプロシージャのみ
・DimもしくはPrivateでプロシージャ外:モジュール内の全てのプロシージャ
・Publicでプロシージャ外:プロジェクト全体

※適用範囲内では、重複する変数名は使用できませんが、適用範囲外では使用可能

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?