Array argument must be ByRef
Arrays declared with Dim, ReDim, or Static can't be passed ByVal. This error has the following cause and solution:
- You tried to pass a whole array ByVal. An individual element of an array can be passed ByVal (by value), but a whole array must be passed ByRef (by reference). Note that ByRef is the default. If you must pass an array ByVal to prevent changes to the array's elements from being propagated back to the caller, you can pass the array (argument) in its own set of parentheses, or you can place it into a Variant, and then pass the Variant to the ByVal parameter, as follows:
Dim MyVar As Variant
MyVar = OldArray()
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기