Biasanya, pernyataan kondisional If....Then....Else sudah cukup untuk program dengan banyak pilihan atau seleksi. Namun, jika ada terlalu banyak kasus yang berbeda, struktur If...Then...Else dapat menjadi terlalu rumit dan sulit di-debug jika muncul masalah. Untungnya, Visual Basic menyediakan cara lain untuk menangani kasus pilihan ganda yang rumit, yaitu struktur keputusan Select Case.....End Select. Format umum struktur Select Case...End Select adalah sebagai berikut:
Formatnya adalah
Select Case variable
Case value 1
Statement
Case value 2
Statement
Case value 3
Statement
.
Case Else
End Select
Contoh :
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut.
Private Sub CommandButton1_Click()
Dim mark As Single
Dim grade As String
mark = Cells(1, 1).Value
'Untuk mengatur perataan ke tengah
Range("A1:B1").Select
With Selection
.HorizontalAlignment = xlCenter
End With
Select Case mark
Case 0 To 20
grade = "F"
Cells(1, 2) = grade
Case 20 To 29
grade = "E"
Cells(1, 2) = grade
Case 30 To 39
grade = "D"
Cells(1, 2) = grade
Case 40 To 59
grade = "C"
Cells(1, 2) = grade
Case 60 To 79
grade = "B"
Cells(1, 2) = grade
Case 80 To 100
grade = "A"
Cells(1, 2) = grade
Case Else
grade = "Error!"
Cells(1, 2) = grade
End Select
End Sub
Pada contoh ini, program akan mendeteksi nilai pada sel (1,1) kemudian menampilkan nilai huruf atau peringkat pada sel (1,2) bila rentang nilai tidak ditemukan maka isi sel(1,2) adalah Error!.