Frage von Tombob, 40

Excel select case mit Zahlen?

Ich habe in Excel mehrere Select Case Abfragen und alle Funktionieren auch bis auf eine und ich weiß nicht warum.

Select Case strDruckbereich
Case "-":
Case "-0,35...0,35": Range("Schnellübersicht!I6") = "-0,35...0,35"
Case "-1...1": Range("Schnellübersicht!I6") = "-1...1"
Case "-1...6": Range("Schnellübersicht!I6") = "-1...6"
Case "-1...10": Range("Schnellübersicht!I6") = "-1...10"
Case "0...0,05": Range("Schnellübersicht!I6") = "0...0,05"
Case "0...0,35": Range("Schnellübersicht!I6") = "0...0,35"
Case "0...1": Range("Schnellübersicht!I6") = "0...1"
Case "0...2": Range("Schnellübersicht!I6") = "0...2"
Case "0...6": Range("Schnellübersicht!I6") = "0...6"
Case "0...10": Range("Schnellübersicht!I6") = "0...10"
Case "0...16": Range("Schnellübersicht!I6") = "0...16"

End Select

Excel übernimmt mir den Wert nicht. Es liegt an der Bedingung vorne Case "-0,35...0,35":...

Wenn ich hier einen anderen Wert nehme, dann funktioniert es. Ich habe die Zellen aus denen die Info kommt als Text deklariert und die in die es geschrieben werden soll, weil Excel sonst rechnen möchte wegen dem - Zeichen.

Kann mir jemand helfen diesbezüglich?

Ach ja, die Variable strDruckbereich ist als String deklariert.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Oubyi, Community-Experte für Excel, 40

Was soll überhaupt das ganze Case?

Range("Schnellübersicht!I6")=strDruckbereich

würde doch auch reichen. Oder?

Kommentar von Tombob ,

stimmt :D Hatte zwei andere Fälle in denen es nicht gegangen wäre aber hier klappt das :)

Kommentar von Oubyi ,

Danke fürs

Kommentar von offeltoffel ,

Falls dich der Grund für den Fehler trotzdem interessiert - siehe meine Antwort :P

Antwort
von offeltoffel, 31

Es liegt an dem "..."

Microsoft macht einen Unterschied zwischen dreimal dem Zeichen "Punkt" und einem "Punkt Punkt Punkt". Das ist leicht zu erkennen, probier mal Folgendes aus:

Gehe in eine leere Zelle und schreibe "hallo..." und drücke auf Enter. In dem Moment, werden die drei Punkte etwas enger zusammenrücken. Aus Punkt, Punkt, Punkt wird "punkt punkt punkt" (sozusagen :D). Wenn du die Zelle dann anklickst und einen der drei Punkte löschen willst, verschwinden gleich alle drei, denn Excel erkennt "punkt punkt punkt" als EIN Zeichen. Deshalb kann Select Case deinen Fall nicht finden. Es würde gehen, wenn du den Inhalt der Zelle nicht mit Enter bestätigst, sondern einfach irgendwo anders hinklickst. Aber das Risiko wird dir bestehen bleiben. Versuche es stattdessen lieber mit einem anderen Zeichen, z.B. ". . ." oder mit "---" oder sowas.

Ansonsten sei auf die Antwort von Oubyi verwiesen...schätze, du kannst es dir auch viel viel einfacher machen ;)

Antwort
von iMPerFekTioN, 30

Hmm, geht das nicht wenn man die Funktion von -0,35 auf 0-0,65 ändert?
Also das der wert erst errechnet wird und mit dem Errechneten wert gearbeitet wird?

Ich meine ich hab das mal wo gesehen.

Grüße,

iMPerFekTioN

Kommentar von offeltoffel ,

Excel rechnet in dem Fall überhaupt nicht, denn es handelt sich um Text, nicht um Zahlen. Er prüft, ob der Inhalt der Zelle gleich einem Text ist und setzt ihn dann in den gewünschten Bereich über.

Kommentar von iMPerFekTioN ,

Wieder was gelernt :)
Danke für die Aufklärung =)

Keine passende Antwort gefunden?

Fragen Sie die Community