Returnの概要
制御文 VBAの予約語 | ||
Return 概要 Return は、VBAで わかりやすく説明 Return は、「GoSub で飛んできた処理を元の場所に戻すよ!」という命令です。ただし、現在ではあまり使われません。 |
||
|
Returnの基本的な使い方
Return を使って、GoSub から元の処理に戻る基本的な例です。
Sub ExampleGoSub()
Dim result As Integer
result = 10
GoSub AddFive
MsgBox "結果: " & result, vbInformation, "GoSub の例"
Exit Sub
AddFive:
result = result + 5
Return
End Sub
解説:
GoSub AddFive
でAddFive
というラベルの処理にジャンプ。Return
に到達すると、GoSub
を呼び出した行の次の行に戻る。
Returnの代替としてSubを使用する
GoSub は非推奨のため、代わりに Sub
を使う方法が推奨されます。
Sub ExampleSub()
Dim result As Integer
result = 10
Call AddFive(result)
MsgBox "結果: " & result, vbInformation, "Sub の例"
End Sub
Sub AddFive(ByRef num As Integer)
num = num + 5
End Sub
解説:
Sub AddFive
を呼び出し、ByRef
を使って値を変更。GoSub
を使わなくても、処理を適切に分割できる。
ExcelでのReturnの活用例(非推奨の方法)
Excel のセルの値を変更する際に、GoSub と Return を使用する例(推奨されない)です。
Sub ExampleGoSubExcel()
Range("A1").Value = 5
GoSub DoubleValue
MsgBox "A1 の値: " & Range("A1").Value, vbInformation, "GoSub の例"
Exit Sub
DoubleValue:
Range("A1").Value = Range("A1").Value * 2
Return
End Sub
解説:
GoSub
を使って、セルの値を変更する処理に移動。Return
で元の処理に戻るが、現在はSub
を使うべき。
Returnの注意事項
- GoSub と Return は非推奨: VBA では
Sub
やFunction
を使うのが標準。 - Return は GoSub のみで使用可能: 単独では使用できず、
GoSub
の戻り先としてのみ動作する。 - 可読性が悪くなる: どこにジャンプするかが分かりにくく、コードの管理が困難になる。
よくある質問
- Q: Return は通常の Sub でも使えますか?
- A: いいえ。Return は
GoSub
とセットでしか使用できません。 - Q: なぜ GoSub は非推奨なのですか?
- A: 可読性が悪く、コードが複雑になりやすいため、Sub や Function を使う方が適切だからです。
- Q: Return を使わずに GoSub から戻る方法は?
- A: ありません。GoSub を使用した場合、Return で元の処理に戻る必要があります。
- Q: Excel VBA で GoSub を使うべきですか?
- A: いいえ。
Sub
やFunction
を使用するのが推奨されます。
まとめ
- Return は
GoSub
を使った処理で、元の位置に戻るために使用される。 - 現在では
GoSub
自体が非推奨であり、代わりにSub
やFunction
を使用するのが一般的。 - Return は単独では使用できず、必ず
GoSub
と組み合わせて使う必要がある。 - 可読性や保守性を考慮し、GoSub を使用せずに適切な構造化プログラミングを行うことが推奨される。