【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、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を実行すると、「東京都渋谷区」のメッセージボックスが表示されます。 |
カテゴリ | スタンダード |