【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。
また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。
【コードをコピーして実行する場合の注意】
文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。
ByRefキーワード
| 名称 | ByRefキーワード |
|---|---|
| 説明 | 参照渡しを指定します。 プロシージャの引数に、変数そのものを渡す渡し方を参照渡しといいます。 変数を宣言すると、PCのメモリ上にその変数の値を書き込む箱(メモリ上のスペース)が確保されます。 この箱には「住所」(メモリ上の場所)があり、参照渡しでは、この「住所」を渡すので、引数を受け取った呼び出し先のプロシージャで値が書き換えられた場合、呼び出し元の変数の値も書き換えられます。 なお、「Sub Macro2(S As String)」のように、ByVal、ByRefのどちらも指定しなかった場合は、ByRefが指定されたものと見なされます。 |
| 書式 |
Sub マクロ名(ByRef 引数名 As 型)
処理
End Sub
ByRef:引数を参照渡しで渡すことを指定するキーワード 型:引数のデータ型を指定(例:Integer, String など) |
| コード例① |
Sub Macro1()
Dim S As String
S = "東京都"
Call Macro2(S)
MsgBox S
End Sub
Sub Macro2(ByRef S As String)
S = S & "渋谷区"
End Sub
Macro1のCallステートメントでMacro2を呼び出し、引数として変数Sを渡しています。 Macro2はByRefで引数を受け取っているため、Macro2内で引数の値を変更するとMacro1の変数Sの値が変更されます。 Macro1を実行すると、「東京都渋谷区」のメッセージボックスが表示されます。 |
| カテゴリ | スタンダード |