PLZ mit Case zuordnen
10.08.2022 11:40:50
Eisi
nachfolgender Code in ähnlicher Form hatte bis jetzt immer super funktioniert.
Jetzt macht der Code etwas, was nicht sein kann?
1.) Wenn er die PLZ findet, dann weise in der Spalte die Zahl 2 zu.
2.) Wenn der Code nichts findet, dann sollte wohl die Zielzelle leer sein, oder? Aber der Code schreibt da die Zahl 1 rein?
3.) Die PLZ die mit zum Beispiel mit 4 beginnt wird im Code die Zahl 2 zugewiesen. Kann ja nicht sein, weil im Code keine PLZ mit 4 gesucht wird.
Also müsste die Zelle leer bleiben, weil er nichts findet.
4.) Es gibt sogar PLZ die der Code mit leer zuordnet. Betrifft PLZ 26121 bis 26135. Warum passiert das so?
Warum verhält der Code sich überhaupt so seltsam?
Danke für die Hilfe.
Schöne Grüße
Eisi :-)
Private Sub CommandButton5_Click()
Dim TB, Sp As Integer, ZSp As Integer, LR As Double, i As Double
Sp = 1 'PLZ in Spalte A
ZSp = 5 'Zielspalte E
Set TB = Sheets("Gebiete_neu")
LR = TB.Cells(TB.Rows.Count, Sp).End(xlUp).Row
For i = 2 To LR
' Suche PLZ 0, 6, 7, 8, 9
Select Case Int(Left(TB.Cells(i, Sp), 1)) ' 1 ziffrig prüfen
Case 0, 6 To 9
TB.Cells(i, ZSp) = 2 ' = Gebiet 2
End Select
' Suche PLZ 52, 53, 54, 55, 56
Select Case Int(Left(TB.Cells(i, Sp), 2)) ' 2 ziffrig prüfen
Case 52, 53, 54, 55, 56
TB.Cells(i, ZSp) = 2 ' = Gebiet 2
End Select
Next
End Sub