der Ansatz mit =Vergleich() geht nur, sofern die Segment-Grenzen in einer Reihe sind. Bis auf eine Ausnahme sind sie es, aber die Ausnahme erfordert einen anderen Ansatz.
Ohne 5 x 2 Ober- und Untergrenzen einzeln abzufrage wird es nicht gehen. Um es übersichtlicher zu mache, teste ich mit 5 "case val1 to vl2" und 5 weiteren if-Abfragen.
ein neuer Versuch: auch nach diversen Verwechslungen koonnte ich ich vorgaben nicht komplett nachvollziehen. Bei einzelnen Überprüfungen war ich der Meinung, dass die Beispiel-Auswertung nicht immer mit der Tabelle der Grenzen übereinstimmt.
Einen anderen Weg habe ich nicht gefunden:
Code:
Sub iFen2()
Dim S As Integer
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
S = 0
If Cells(i, "H") > 2266735.75 And Cells(i, "H") < 2267229.34 And _
Cells(i, "J") > -308630.81 And Cells(i, "J") < -308542.53 Then S = 1
If Cells(i, "H") > 2267229.34 And Cells(i, "H") < 2267342.72 And _
Cells(i, "J") < -308272.23 And Cells(i, "J") > -308542.53 Then S = 2
If Cells(i, "H") > 2267342.72 And Cells(i, "H") < 2267433.12 And _
Cells(i, "J") > -308272.23 And Cells(i, "J") < -308121.54 Then S = 3
If Cells(i, "H") > 2267433.12 And Cells(i, "H") < 2267601.78 And _
Cells(i, "J") > -308121.54 And Cells(i, "J") < -307189.08 Then S = 4
If Cells(i, "H") > 2267429.43 And Cells(i, "H") < 2267601.78 And _
Cells(i, "J") < -305921.74 And Cells(i, "J") > -307189.08 Then S = 5
Cells(i, "L") = S
Next i
End Sub
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • HM1001
M.E., aber ungetestet, dürfte der Code von snb besser sein. Mein Code müßte die fest-codierten Werte aus einer Tabelle ziehen, damit Änderungen, also weitere Sektoren, leichter berücksichtigt werden können.
Gegenfrage: Wikipedia zeigte zwar Info's zu Gauss-Krüger-Koordinate, die sind aber IMMER positiv. Was sind also deine Daten?