Case Select kaputt?

Aufgabe:
Wir wolle mit Case select eine abfrage starten die aus den den Monatsnummer, Sommer und Winter Halbjahr anzeigt.
Monat 2 bis 7 sollen Sommerhalbjahr
Monat 1 und 8 bis 12 sollen Winterhalbjahr sein
über Monatsnummer 12 soll Fehler angezeigt werden

hier der Code

Private Sub Command1_Click()
Dim i As Integer
dim MonatsNr as String
Dim text As String
For i = 0 To 14
MonatsNr = Val(i)
Select Case MonatsNr
Case 2 To 7
text = „Sommerhalbjahr“
Case Is > 12
text = „Fehler“
Case Else
text = „Winterhalbjahr“
End Select
Debug.Print i; Tab(9); text
Next i
End Sub

Wenn wir das Debug print Fenster auslese bekommen wir allerdings

0 Case Else
1 Case Else
2 2 to 7
3 2 to 7
4 2 to 7
5 2 to 7
6 2 to 7
7 2 to 7
8 Größer 12
9 Größer 12
10 Case Else
11 Case Else
12 Case Else
13 Größer 12
14 Größer 12

Was geht hier Falsch? Wenn ich MonatsNr auf Integer setzte ist es weg. Warum macht er den Fehler nur bei 8 und 9??

bestimmt nicht
Moin, Bastian,

wenn MonatsNr als String deklariert ist (wozu eigentlich?), dann sollte auch mit Strings verglichen werden. Ich rate ab, weil „12“