Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Select Case <-> If then elseif else

Select Case <-> If then elseif else
22.09.2003 16:00:49
Elmar Steigenberger
Hallo, Ihr lieben Helfer und Helferinnen,

langsam klappts ja bei mir ganz gut mit Visual Basic, ich bin ganz zufrieden mit mir. Aber dank Eurer tollen Hilfe kann ich ja eigentlich nur gut werden :))

Eine Grundsatzfrage:

Verstehe ich das richtig, das eine Select Case-Anweisung eleganter und einfacher zu schreiben ist als eine IF THEN ELSEIF ELSE Anweisung?

Hat Select Case irgendwelche Nachteile gegenüber If then else?

Beispiel:

Bisher hab ich so programmiert:

If aZ < 10 Then
Wohnung = 0
ElseIf (aZ >= 10 And aZ <= 14) Then
Wohnung = 1
ElseIf (aZ >= 15 And aZ <= 19) Then
Wohnung = 2
ElseIf aZ >= 20 And aZ <= 24 Then
Wohnung = 3
ElseIf aZ >= 25 And aZ <= 29 Then
Wohnung = 4

...
...
geht bis 110

Ich denke, ich hätte es auch so machen können:

Select Case az

case is < 10
Wohnung = 0
Case 10 to 14
Wohnung = 1
Case 15 to 19
Wohnung = 2
Case 20 to 24
Wohnung = 3
...

Ist das richtig? Die Wohnung kann nicht in dieselbe Zeile wie Case oder?


Vielen Dank fürs Lesen und Antworten!

liebe e-Grüße
Elmar

====================================
Die erstaunliche und absolut umwerfende Wahrheit über den 11.09.01
www.elfterseptember.info

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Select Case <-> If then elseif else
22.09.2003 16:15:10
ChrisL
Hi Elmar

In der Ausführung gibt es eigentlich keinen Unterschied, die Wahl ob Select Case oder If Then ist also nur kosmetisch.

Für den vorliegenden Fall erachte ich Select Case aber als schöner.

Würdest du z.B. eine Zelle in einer Mappe überprüfen anstatt der Variable AZ

If Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") < 10 Then
Wohnung = 0
ElseIf (Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") >= 10 And Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") <= 14) Then
Wohnung = 1
ElseIf (Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") >= 15 And Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") <= 19) Then
Wohnung = 2
ElseIf Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") >= 20 And Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1") <= 24 Then
Wohnung = 3

Da wäre Select Case wohl schöner...

Select Case Worksheets("Mappe1.xls").Worksheets("Tabelle1").Range("A1")

case is < 10
Wohnung = 0
Case 10 to 14
Wohnung = 1
Case 15 to 19
Wohnung = 2
Case 20 to 24
Wohnung = 3


Zugegeben, ein bischen überspitzt, aber ich denke es ist klar was gemeint ist.

Case 20 To 24: Wohnung = 3
müsste eigentlich auch gehen

Gruss
Chris
Anzeige

46 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige