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

Forumthread: Nur bis zu einem Bestimmten Zeichen kopieren

Nur bis zu einem Bestimmten Zeichen kopieren
Excellent
Hallo,
ich habe z.B. in einer Zelle in Excel diesen Dateipfad stehen: C:\Ordner1\UnterordnerXY\Ordner0815
Nun möchte ich, wenn ich auf einen Button drücke nur noch folgendes in der Zelle stehen haben:
C:\Ordner1\UnterordnerXY\
Es könnte auch sein, dass der Pfad lediglich so aussieht: C:\Ordner1\UnterordnerXY
Dann sollte nach dem Löschen folgendes in der Zelle stehen: C:\Ordner1\
In Excel bekomme ich das hin, nur leider in VBA als Makro nicht.
Im Prinzip muss von rechts aus nach dem ersten "\" gesucht werden, und die Zeichenzahl (1) von rechts bis dorthin gezählt werden. Die gesamte Zeichenzahl (2) der Zelle muss auch gezählt werden. Dann muss Zeichenanzahl(2) - Zeichenanzahl(1) gerechnet werden und diese Zeichenanzahl, von links aus gesehen, stehen bleiben.
Könntet Ihr mir das in Code übersetzen?
Viele Grüße,
Fabian
Anzeige
AW: Nur bis zu einem Bestimmten Zeichen kopieren
24.09.2009 11:29:13
Rudi
Hallo,
=left(text,instrrev(text,"\"))
Gruß
Rudi
AW: Nur bis zu einem Bestimmten Zeichen kopieren
24.09.2009 14:08:09
Excellent
Hallo Rudi,
danke für Deine Antwort!
Leider funktioniert das Ganze noch nicht.
Beispiel:
dim Test as string
Test = Left("c:\Hase\Hut", InStrRev("c:\Hase\Hut", "\"))
Für "Test" wird nur Leer geliefert.
Gruß Fabian
Anzeige
AW: Nur bis zu einem Bestimmten Zeichen kopieren
24.09.2009 14:49:47
JogyB
Hi.
Das funktioniert einwandfrei, ich bekomme c:\Hase\ als Inhalt von Test.
Gruss, Jogy
AW: Nur bis zu einem Bestimmten Zeichen kopieren
24.09.2009 17:34:14
Excellent
Du hast recht, irgendwie habe ich es geschafft einen Fehler einzubauen. Frag jetzt aber nicht wie ;-)
Danke wiedermal für den super Support!
Gruß Fabian
AW: Nur bis zu einem Bestimmten Zeichen kopieren
24.09.2009 11:36:42
Tino
Hallo,
geht es so?
 AB
3C:\Ordner1\UnterordnerXY\Ordner0815C:\Ordner1\UnterordnerXY\

Formeln der Tabelle
ZelleFormel
B3{=LINKS(A3;MAX((TEIL(A3;ZEILE(INDIREKT("A1:A"&LÄNGE(A3))); 1)="\")*ZEILE(INDIREKT("A1:A"&LÄNGE(A3)))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Gruß Tino
Anzeige
das weiß er doch!
24.09.2009 13:00:47
Rudi
Hallo,
In Excel bekomme ich das hin, nur leider in VBA als Makro nicht.
Gruß
Rudi
habe ich überlesen, ...
24.09.2009 13:10:39
Tino
Hallo,
, soll nicht wieder vorkommen.
Kann ich aber nicht versprechen. ;-)
Gruß Tino
;

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

Nur bis zu einem bestimmten Zeichen kopieren


Schritt-für-Schritt-Anleitung

Um in Excel Text bis zu einem bestimmten Zeichen zu kopieren, kannst du eine Kombination aus Excel-Funktionen und gegebenenfalls VBA verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und gehe zu der Zelle, in der der Text steht. Zum Beispiel: C:\Ordner1\UnterordnerXY\Ordner0815.

  2. Verwende die Funktion LEFT mit INSTRREV:

    • Füge in eine leere Zelle die folgende Formel ein:
      =LEFT(A1, INSTRREV(A1, "\"))
    • Hierbei ist A1 die Zelle mit dem ursprünglichen Text.
  3. Drücke Enter. Das Ergebnis sollte C:\Ordner1\UnterordnerXY\ sein.

  4. Für VBA-Nutzer: Wenn du ein Makro erstellen möchtest, kannst du folgenden Code verwenden:

    Sub CopyUntilCharacter()
       Dim Test As String
       Test = Left(Range("A1").Value, InStrRev(Range("A1").Value, "\"))
       Range("B1").Value = Test
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Die Formel liefert einen leeren Wert zurück.

    • Lösung: Überprüfe, ob das Zeichen, nach dem du suchst (z.B. \), tatsächlich im Text vorhanden ist. Wenn nicht, gibt die Funktion einen leeren Wert zurück.
  • Fehler: VBA gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass du den richtigen Zellbereich in der VBA-Funktion angibst und dass das Zielblatt aktiv ist.

Alternative Methoden

Wenn du nicht mit VBA oder komplexen Formeln arbeiten möchtest, kannst du auch die Funktion TEXTBEFORE verwenden (verfügbar in neueren Excel-Versionen):

=TEXTBEFORE(A1, "\")

Diese Funktion gibt den Text vor dem ersten Vorkommen des angegebenen Zeichens zurück.


Praktische Beispiele

  1. Einfaches Beispiel:

    • Text in Zelle A1: C:\Ordner1\UnterordnerXY\Ordner0815
    • Formel: =LEFT(A1, INSTRREV(A1, "\"))
    • Ergebnis: C:\Ordner1\UnterordnerXY\
  2. Mit Leerzeichen:

    • Text in Zelle A1: C:\Ordner 1\UnterordnerXY\Ordner0815
    • Formel: =LEFT(A1, INSTRREV(A1, "\"))
    • Ergebnis: C:\Ordner 1\UnterordnerXY\

Tipps für Profis

  • Verwende TRIM: Um sicherzustellen, dass keine zusätzlichen Leerzeichen in deinen Ergebnissen sind, kannst du die Formel wie folgt anpassen:

    =TRIM(LEFT(A1, INSTRREV(A1, "\")))
  • Fehlerüberprüfung: Nutze die Funktion IFERROR, um Fehler zu handhaben:

    =IFERROR(LEFT(A1, INSTRREV(A1, "\")), "Kein Zeichen gefunden")

FAQ: Häufige Fragen

1. Kann ich auch mehrere Zeichen bis zu einem bestimmten Zeichen kopieren?
Ja, du kannst die Funktion LEFT zusammen mit FIND oder SEARCH verwenden, um mehrere Zeichen zu extrahieren.

2. Wie kann ich sicherstellen, dass kein Leerzeichen am Ende des kopierten Textes bleibt?
Verwende die Funktion TRIM, um Leerzeichen zu entfernen.

3. Was mache ich, wenn das Zeichen nicht vorhanden ist?
Verwende IFERROR, um eine benutzerdefinierte Nachricht anzuzeigen, wenn das Zeichen nicht gefunden wird.

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