اگر ماکروها را برنامه ریزی می کنید، از قبل می دانید که می توانید آرایه هایی از متغیرها را تعریف کنید که برای ذخیره داده های مشابه استفاده می شوند. به عنوان مثال، آرایه sClassNames() می تواند برای نگهداری نام افراد در کلاس مدرسه شما استفاده شود. موارد زیر را در نظر بگیرید که آرایه را تعریف می کند:
Dim sClassNames(29) As String
این کد خاص مشخص می کند که آرایه می تواند 30 مقدار رشته را با استفاده از زیرنویس های 0 تا 29 نگه دارد.
در برخی موارد ممکن است زیربرنامه یا تابعی داشته باشید که باید بداند چند عنصر برای یک آرایه تعریف شده است. یکی از تابع های داخلی VBA که برای تعیین آن مفید است، UBound است. این تابع مقداری را برمیگرداند که کران بالایی (بزرگترین زیرنویس) قابل استفاده با آرایه را نشان میدهد. به عنوان مثال، کاربرد زیر را در نظر بگیرید:
iClassSize = UBound(sClassnames)
وقتی این کد را اجرا می کنید، iClassSize روی مقدار 29 تنظیم می شود. چرا؟ از آنجایی که 29 بزرگترین زیرنویسی است که می تواند در آرایه sClassNames () استفاده شود، کران بالایی برای آرایه را نشان می دهد.
اگر آرایههای شما بیش از یک بعد دارند، میتوانید آرگومان دیگری به تابع UBound اضافه کنید تا مشخص کنید برای کدام بعد کران بالایی را میخواهید:
iHighSide = UBound(cPayGrade, 2)
این مثال iHighSide را برابر با کران بالایی برای بعد دوم آرایه ()cPayGrade قرار می دهد.