Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeichenfolge ab dem zweiten Komma finden

Forumthread: Zeichenfolge ab dem zweiten Komma finden

Zeichenfolge ab dem zweiten Komma finden
12.01.2017 10:39:26
Mike
Hallo, liebe Excelaner....
leider finde ich das passende nicht ...
In Zelle E4 steht z.B. tralala.zip Ich möchte aus dieser Zelle die Dateiendung auslesen. Dafür habe ich:
Range("F4").Formula = "=(If(E4=""(File)"","""",Right(E4,Len(E4)-find(""."",E4))))"
Dies wird per VBA in F4 eingetragen. Funktioniert soweit wunderbar. Nun mein Problem:
Alles ist gut, solange nur ein Punkt in der Zelle E4 steht. Ist der Wert dort z.B. 2014-10-29.065405.508.zip
funktioniert meine Formel nicht. Gibt es da was besseres? Könnt ihr mir bitte helfen?
Vielen Dank im Voraus!
Gruß
Mike
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: InstrRev
12.01.2017 10:49:25
Fennek
Hallo,
in VBA gibt es die Möglichkeit des "find" von rechts: InstrRev
Um den Punkt vor der Dateiendung zu finden:

iPos = InstrRev(Cells(1,1), ".")
Es geht aber auch

iEnd = split(cells(1,1), ".")
DateiEndung = iEnd(Ubound(iEnd))
(beides ungetestet)
mfg
Anzeige
AW: InstrRev
12.01.2017 13:24:56
Mike
Hallo Fennek,
ich trage die Formel allerdings per VBA in die Zelle ein. Kann man die vorhandene Formel noch soweit verbessern, dass nur der Punkt vor der Endung gefunden wird? Die Endung kann aber unterschiedliche Länge haben. (.xls oder .xlsx)
Danke MIke
AW: Zeichenfolge ab dem zweiten Komma finden
13.01.2017 12:26:57
Rudi
Hallo,
als Formel:
=TEIL(WECHSELN(E4;".";"#";LÄNGE(E4)-LÄNGE(WECHSELN(E4;".";"")));FINDEN("#";WECHSELN(E4;".";"#"; LÄNGE(E4)-LÄNGE(WECHSELN(E4;".";""))))+1;99)
Wie das in VBA aussieht kannst du per Recorder ermitteln.
Gruß
Rudi
Anzeige
AW: Zeichenfolge ab dem zweiten Komma finden
13.01.2017 12:52:09
Mike
HAllo, vielen Dank für die geniale Formal. funktioniert perfekt. *Begeisterung*
HAbe ne Weile gesucht wie ich das mit dem MAkrorecorder umwandeln kann. ABER ich habs gefunden! Neues Makro, in die Zelle geklickt und F2 +Enter.
Vielen Dank für die tolle Hilfe.
Wird dann mal weiterbasteln.
Gruß
Mike
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeichenfolge ab dem zweiten Komma finden in Excel


Schritt-für-Schritt-Anleitung

Um die Dateiendung ab dem zweiten Punkt in einer Zelle zu extrahieren, kannst Du folgende Schritte befolgen:

  1. Formel in Excel verwenden: Du kannst die Formel von Rudi nutzen, um die Dateiendung direkt in eine Zelle einzufügen. Gehe zu der Zelle, in der die Dateiendung erscheinen soll, und gib folgende Formel ein:

    =TEIL(WECHSELN(E4;".";"#";LÄNGE(E4)-LÄNGE(WECHSELN(E4;".";"")));FINDEN("#";WECHSELN(E4;".";"#"; LÄNGE(E4)-LÄNGE(WECHSELN(E4;".";""))))+1;99)

    Diese Formel ersetzt den letzten Punkt durch ein #, findet die Position und extrahiert den Text danach.

  2. VBA zur Automatisierung: Wenn Du diese Formel per VBA in eine Zelle einfügen möchtest, kannst Du den folgenden Code verwenden:

    Range("F4").Formula = "=TEIL(WECHSELN(E4,""."",""#"",LÄNGE(E4)-LÄNGE(WECHSELN(E4,""."","""")));FINDEN(""#"",WECHSELN(E4,""."",""#"",LÄNGE(E4)-LÄNGE(WECHSELN(E4,""."",""""))))+1;99)"

Häufige Fehler und Lösungen

  • Fehler: Formel gibt #WERT! zurück
    Lösung: Überprüfe, ob die Zelle E4 tatsächlich einen Punkt enthält. Die Formel funktioniert nur, wenn mindestens ein Punkt vorhanden ist.

  • Fehler: Falsche Dateiendung wird zurückgegeben
    Lösung: Stelle sicher, dass die Formel korrekt eingegeben wurde und keine typos enthalten sind. Verifiziere die Eingabedaten in E4.


Alternative Methoden

  • Verwendung von InstrRev in VBA:
    Du kannst auch den InstrRev-Befehl verwenden, um den letzten Punkt zu finden und die Dateiendung zu extrahieren:

    Dim iPos As Integer
    iPos = InStrRev(Cells(1, 1), ".")
    Dim DateiEndung As String
    DateiEndung = Mid(Cells(1, 1), iPos + 1)
  • Split-Funktion in VBA:
    Eine weitere Möglichkeit ist die Nutzung der Split-Funktion:

    Dim iEnd() As String
    iEnd = Split(Cells(1, 1), ".")
    Dim DateiEndung As String
    DateiEndung = iEnd(UBound(iEnd))

Praktische Beispiele

Angenommen, in Zelle E4 steht 2014-10-29.065405.508.zip. Mit der oben genannten Formel erhältst Du:

  • Ergebnis: .zip

Wenn Du den VBA-Code zur Automatisierung verwendest, wird die Dateiendung automatisch in Zelle F4 angezeigt.


Tipps für Profis

  • Nutzung des Makrorecorders: Wenn Du die Formel in VBA umwandeln möchtest, nutze den Makrorecorder, um dir den Code zu generieren. Klicke auf die Zelle, drücke F2 und dann Enter, um die Formel in VBA zu sehen.

  • Verwendung von Konventionen: Achte darauf, die Namen von Variablen und Zellen konsistent zu halten, um die Lesbarkeit Deines Codes zu verbessern.


FAQ: Häufige Fragen

1. Kann ich diese Methode auch für andere Dateitypen verwenden?
Ja, die Methode funktioniert für jede Art von Dateiendung, solange sie durch einen Punkt getrennt ist.

2. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Formeln und VBA-Methoden sind in Excel 2010 und höher verfügbar.

3. Funktioniert die Formel auch mit mehr als zwei Punkten?
Ja, die Formel ist so konzipiert, dass sie immer die letzte Dateiendung extrahiert, unabhängig von der Anzahl der Punkte.

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