ماکروها در اکسل به زبانی به نام Visual Basic for Applications (VBA) نوشته می شوند. مانند هر زبان برنامه نویسی دیگری، VBA شامل ساختارهای برنامه نویسی خاصی است که برای کنترل نحوه اجرای برنامه استفاده می شود. یکی از این ساختارها ساختار Select Case است. این ساختار دارای نحو زیر است:
Select Case expression
Case expression
program statements
Case expression
program statements
Case Else
program statements
End Select
هنگامی که یک ماکرو در حال اجرا است و با این ساختار مواجه می شود، اکسل از عبارت برای آزمایش هر دستور Case بعدی استفاده می کند تا ببیند آیا کد زیر عبارت Case باید اجرا شود یا خیر. به عنوان مثال، کد زیر را در نظر بگیرید:
Select Case DayOfWeek
Case 1
DayName = "Monday"
Case 2
DayName = "Tuesday"
Case 3
DayName = "Wednesday"
Case 4
DayName = "Thursday"
Case 5
DayName = "Friday"
Case 6
DayName = "Saturday"
Case 7
DayName = "Sunday"
Case Else
DayName = "Unknown day"
End Select
این کد فرض میکند که آن را با مقدار عددی DayOfWeek وارد کنید. اجازه دهید بگوییم (برای مثال) مقدار 4 است. در این ساختار، تنها کدی که اجرا میشود، کد زیر عبارت Case 4 است - به عبارت دیگر، ماکرو DayName را روی "Thursday" تنظیم میکند. اگر DayOfWeek روی مقدار دیگری تنظیم می شد که توسط دستورات Case در نظر گرفته نمی شد (خارج از محدوده 1 تا 7)، کد زیر Case Else اجرا می شد و ماکرو DayName را روی "روز ناشناخته" تنظیم می کرد.