Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Platzhalter bei Case/Left Anweisung

Platzhalter bei Case/Left Anweisung
17.06.2009 12:36:58
Flo
Hallo,
ich habe eine große Excel Liste bei der per Makro eine Zeichenfolge per Case Anweisung geprüft und dann in eine andere Zeile geschrieben wird. Bis auf ein paar Ausnahmen sind immer die ersten 4 Zeichen ausschlaggebend.
Bsp (in Spalte2 steht der neue Wert):
Zelle A1 Zelle A2
2702XCY234 Modellreihe27
in der Sub geht das dann bei mir so (angenommen Spalte1 wert wird in die Variable "Modellreihe" geschrieben):
select case left(Modellreihe,4)
case is = "2702"
range("a2").value = "Modellreihe27"
so. Nun habe ich ein paar Ausnahmen. Hierbei sind nur die ersten 3 Zeichen wichtig. Kann ich in der gleichen Case anweisung eine Art Platzhalter einfügen. Z.b. so:
case is = "123*"
wobei stern irgendein Zeichen wäre?
Danke im voraus
Flo
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Platzhalter bei Case/Left Anweisung
17.06.2009 12:56:19
Flo
Hat sich geklärt. Sorry hab einfach eine weiter select Case eingeschachtelt :)
AW: Platzhalter bei Case/Left Anweisung
17.06.2009 12:59:09
Luschi
Hallo Flo,
das sollte so functionieren:

Select Case Left(Modellreihe, 4)
Case "2702"
Range("A2").Value = "Modellreihe27"
Case Modellreihe Like "123*"
Range("A3").Value = "Modellreihe123"
Case "1234"
Range("A4").Value = "ModellreiheXX"

Allerdings wird der letzte Case-Fall nie ausgewertete,
da die Like-Bedingung alles abfängt, was in der Modellreihe mit "123" beginnt.
Gruß von Luschi
aus klein-Paris
PS: Case Is = "2702" kann man auch so schreiben: Case "2702"

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Platzhalter bei Case/Left Anweisung effektiv nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject", wähle "Einfügen" und dann "Modul".

  3. Füge den Code hinzu: Kopiere und füge den folgenden Code in das Modul ein:

    Sub BeispielMitCase()
       Dim Modellreihe As String
       Modellreihe = Range("A1").Value
    
       Select Case Left(Modellreihe, 4)
           Case "2702"
               Range("A2").Value = "Modellreihe27"
           Case Modellreihe Like "123*"
               Range("A3").Value = "Modellreihe123"
           Case "1234"
               Range("A4").Value = "ModellreiheXX"
       End Select
    End Sub
  4. Testen: Stelle sicher, dass in Zelle A1 der Wert steht, den du prüfen möchtest, und führe das Makro aus.


Häufige Fehler und Lösungen

  • Fehler: Letzter Case wird nicht ausgewertet
    Wenn du einen Like-Operator verwendest, stelle sicher, dass andere Cases nicht mit dem Platzhalter abgedeckt werden. In unserem Beispiel wird der Case "1234" nie erreicht, wenn Modellreihe Like "123*" wahr ist.

  • Lösung: Strukturiertes Anlegen der Conditions
    Überlege, die Cases so zu strukturieren, dass spezifischere Bedingungen zuerst geprüft werden, bevor allgemeine Bedingungen folgen.


Alternative Methoden

Wenn du Platzhalter in Excel verwenden möchtest, könntest du auch die Funktion WENN oder SVERWEIS verwenden. Diese Methoden sind flexibler für umfangreiche Datenanalysen und können auch mit Wildcards arbeiten.

Ein Beispiel für WENN könnte so aussehen:

=WENN(LEFT(A1, 4) = "2702"; "Modellreihe27"; WENN(LEFT(A1, 3) = "123"; "Modellreihe123"; ""))

Praktische Beispiele

Hier sind einige Beispiele für die Verwendung von Platzhaltern in VBA:

  1. Mit Wildcards

    Select Case Modellreihe
       Case "XYZ*"
           Range("B1").Value = "Passend für XYZ"
    End Select
  2. Verschachtelte Select Case
    Wenn du unterschiedliche Längen von Bedingungen hast, könnte eine verschachtelte Select Case sinnvoll sein:

    Select Case Left(Modellreihe, 3)
       Case "123"
           Select Case Right(Modellreihe, 1)
               Case "A"
                   Range("C1").Value = "Modell A"
               Case "B"
                   Range("C1").Value = "Modell B"
           End Select
    End Select

Tipps für Profis

  • Nutze Like in Verbindung mit regulären Ausdrücken, wenn du komplexe Muster in Zeichenfolgen überprüfen möchtest.
  • Halte deine Codeschnipsel modular, damit du sie leichter anpassen und wiederverwenden kannst.
  • Teste verschiedene Kombinationen von Bedingungen, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich ein Sternchen in Excel als Platzhalter verwenden?
Nutze den Like-Operator in VBA, um mit Platzhaltern zu arbeiten. Das Sternchen (*) steht für eine beliebige Anzahl von Zeichen.

2. Funktioniert das auch in Excel-Formeln?
Ja, in Excel-Formeln kannst du auch Platzhalter verwenden, z.B. mit =WENN(A1="123*"; "Treffer"; "Kein Treffer").

3. Kann ich mehrere Bedingungen in einer Case-Anweisung kombinieren?
Ja, du kannst mehrere Case-Bedingungen unter einem Select Case kombinieren, um verschiedene Szenarien abzudecken.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige