Le macro in Excel sono scritte in un linguaggio chiamato Visual Basic for Applications (VBA). Come qualsiasi altro linguaggio di programmazione, VBA include alcune strutture di programmazione che vengono utilizzate per controllare come viene eseguito il programma. Una di queste strutture è la struttura Select Case. Questa struttura ha la seguente sintassi:
Select Case espressione
Case espressione
istruzioni del programma
Case espressione
istruzioni del programma
Case Else
istruzioni del programma
End Select
Quando una macro è in esecuzione e viene rilevata questa struttura, Excel utilizza espressione per verificare ogni istruzione Case successiva per vedere se il codice sotto l’istruzione Case deve essere eseguito. Ad esempio, considera il codice seguente:
Select Case GiornoSettimana
Case 1
NomeGiorno = "Lunedì"
Case 2
NomeGiorno = "Martedì"
Case 3
NomeGiorno = "Mercoledì"
Case 4
NomeGiorno = "Giovedì"
Case 5
NomeGiorno = "Venerdì"
Case 6
NomeGiorno = "Sabato"
Case 7
NomeGiorno = "Domenica"
Case Else
NomeGiorno = "Giorno sconosciuto"
End Select
Questo codice presuppone che tu lo inserisca con GiornoSettimana già impostato su un valore numerico. Supponiamo (per esempio) che il valore sia 4. In questa struttura, l’unico codice che verrebbe eseguito è il codice sotto l’istruzione Case 4, in altre parole, la macro imposterebbe GiornoSettimanasu “Giovedì”. Se GiornoSettimana fosse impostato su un altro valore non considerato dalle istruzioni Case (al di fuori dell’intervallo da 1 a 7), il codice sotto Case Else verrebbe eseguito e la macro imposterebbe GiornoSettimana su “Giorno sconosciuto”.