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

Erste Wort einer Zelle löschen

Forumthread: Erste Wort einer Zelle löschen

Erste Wort einer Zelle löschen
30.06.2006 10:07:44
Giuseppe
Hallo Freunde, Guten Morgen
ich habe 'ne Frage:
Wie kann man per VBA das erste Wort einer Zelle löschen?
z.B.: Zelle A1 = Mach was" und nach der löschen wird "was".
Danke
Giuseppe
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 10:15:34
Specke
Hallo Giuseppe,
so sollte es funktionieren:
=RECHTS(ZS(-1);LÄNGE(ZS(-1))-SUCHEN(" ";ZS(-1);1))
Gruß Specke
AW: Erste Wort einer Zelle löschen
30.06.2006 11:10:55
Basti
Moin,
Hier eine wohl einfachere Lösung:

Sub loescheEW()
Dim i As Integer
i = InStr(1, Worksheets("Tabelle1").[A1], " ") 'Leerzeichen finden
If Not i = 0 Then MsgBox Mid(Worksheets("Tabelle1").[A1], i + 1) 'falls vorhanden ausschneiden
End Sub

Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 11:20:40
Giuseppe
Hallo Basti,
Gute Lösung.
Ich habe der code so vehändert damit die Zelle gleich geändert wird:

Sub loescheEW()
Dim i As Integer
i = InStr(1, Worksheets("Foglio1").[A1], " ") 'Leerzeichen finden
If Not i = 0 Then Range("A1") = Mid(Worksheets("Foglio1").[A1], i + 1) 'falls vorhanden ausschneiden
End Sub

Wie kann man ein For...Next integrieren damit z.B. die Markierte Zellen angesprochen werden?
Danke
Giuseppe
Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 11:44:41
Basti
Ist zwar keine schöne Lösung aber es geht so dein makierter Bereich zusammen hängt.
Normalerweise müsste eine For...Each Schleife da hin. Aber ich habe leider keinen Objekttyp für eine einzelne Zelle gefunden (dann würde es bestimmt auch mit getrennten Bereichen gehen:

Sub loescheEW()
Dim i As Integer
Dim j As Integer
Dim Felder As Range
Set Felder = Selection
For j = 1 To Felder.Rows.Count
For k = 1 To Felder.Columns.Count
i = InStr(Felder.Cells(j, k), " ") 'Leerzeichen finden
If Not i = 0 Then MsgBox Mid(Felder.Cells(j, k), i + 1) 'falls vorhanden ausschneiden
Next
Next
End Sub

Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 10:18:58
Lukas
Hallo zusammen
Meine Formel ist folgende:
=RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1))
Gruss
Lukas
AW: Erste Wort einer Zelle löschen
30.06.2006 10:23:12
Giuseppe
Es funkt.
Danke
Giuseppe
HAT JEMAND EINE LÖSUNG MIT VBA?
Danke
AW: Erste Wort einer Zelle löschen
30.06.2006 10:37:30
Lukas
Hallo Giuseppe

Sub ersterswort()
Do Until x = " "
y = y + 1
x = Mid(Range("a1"), y, 1)
If y > Len(Range("a1")) Then
Exit Sub
End If
Loop
Lösung = Right(Range("a1"), Len(Range("a1")) - y)
End Sub

Gruss
lukas
Bitte um Rückmeldung
Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 10:48:11
Giuseppe
Hallo Lukas
es funkt nicht!
ciao
Giuseppe
AW: Erste Wort einer Zelle löschen
30.06.2006 10:56:23
Giuseppe
Hallo Lukas,
so funktioniert:

Sub ersterswort()
Do Until x = " "
y = y + 1
x = Mid(Range("a1"), y, 1)
If y > Len(Range("a1")) Then
' Exit Sub
End If
Loop
Range("a1") = Right(Range("a1"), Len(Range("a1")) - y)
End Sub

Danke nochmal
Ciao
Giuseppe
Allerdings habe 7000 zelle zu ändern!!!!!
Anzeige
AW: Erste Wort einer Zelle löschen
30.06.2006 10:58:11
Lukas
Hallo
Hättes noch etwas abändern sollen:

Function ErstesWort(Bereich As Range)
Do Until x = " "
y = y + 1
x = Mid(Bereich.Cells(1), y, 1)
If y > Len(Bereich.Cells(1)) Then
Exit Function
End If
Loop
ErstesWort = Right(Bereich.Cells(1), Len(Bereich.Cells(1)) - y)
End Function

Jetzt hast du zwei möglichkeiten:
- In einem Code z.B. Ersteswort(range("a1")
- In einer Zelle z.B. =Ersteswort(a1)
Gruss
Lukas
Bitte um Rückmeldung
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

Infobox / Tutorial

Erste Wort einer Zelle löschen


Schritt-für-Schritt-Anleitung

Um das erste Wort einer Zelle in Excel zu löschen, gibt es verschiedene Methoden, sowohl mit Formeln als auch mit VBA. Hier sind die Schritte für beide Ansätze:

1. Mit einer Formel:

  • Verwende die folgende Formel, um das erste Wort aus Zelle A1 zu entfernen:
     =RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1))
  • Diese Formel sucht nach dem ersten Leerzeichen und gibt den Text nach diesem Leerzeichen zurück.

2. Mit VBA:

  • Du kannst ein einfaches Makro erstellen, um das erste Wort aus einer Zelle zu löschen. Hier ist ein Beispiel:
     Sub loescheEW()
         Dim i As Integer
         i = InStr(1, Worksheets("Tabelle1").[A1], " ") ' Leerzeichen finden
         If Not i = 0 Then Range("A1") = Mid(Worksheets("Tabelle1").[A1], i + 1) ' falls vorhanden ausschneiden
     End Sub
  • Dieses Skript aktualisiert die Zelle direkt.

Häufige Fehler und Lösungen

  • Fehler: Die Formel gibt einen Fehler zurück, wenn es kein Leerzeichen gibt.

    • Lösung: Stelle sicher, dass die Zelle nicht leer ist oder ein Leerzeichen enthält. Du kannst die Formel anpassen, um das zu berücksichtigen:
      =WENNFEHLER(RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1)); A1)
  • Fehler: Das VBA-Skript funktioniert nicht.

    • Lösung: Überprüfe, ob du das richtige Arbeitsblatt und die richtige Zellreferenz verwendest. Stelle sicher, dass das Makro in der richtigen Arbeitsmappe ausgeführt wird.

Alternative Methoden

  1. Excel Funktion: Wenn du das letzte Wort aus einer Zelle löschen möchtest, kannst du die folgende Formel verwenden:

    =LINKS(A1;LÄNGE(A1)-LÄNGE(RECHTS(A1;FINDEN(" ";REVERSE(A1))-1)))

    Diese Methode erfordert jedoch eine benutzerdefinierte Funktion für REVERSE.

  2. VBA Loop: Um ein Wort aus allen Zellen in einem markierten Bereich zu löschen, kannst du einen For-Loop verwenden:

    Sub loescheWortAusBereich()
       Dim Zelle As Range
       For Each Zelle In Selection
           Dim i As Integer
           i = InStr(1, Zelle, " ")
           If Not i = 0 Then Zelle = Mid(Zelle, i + 1)
       Next Zelle
    End Sub

Praktische Beispiele

  • Beispiel für die Verwendung der Formel: Angenommen, A1 enthält den Text "Mach was". Nach der Anwendung der Formel erhältst du "was".

  • Beispiel für das VBA-Skript: Wenn A1 "Programmieren macht Spaß" enthält und du das Skript ausführst, wird der Inhalt in A1 zu "macht Spaß" geändert.


Tipps für Profis

  • Schnellere Bearbeitung: Wenn du viele Zellen gleichzeitig bearbeiten möchtest, nutze die VBA-Methode mit einer For-Schleife, um effizienter zu arbeiten.
  • Wort entfernen: Um bestimmte Wörter zu löschen, kannst du eine benutzerdefinierte Funktion in VBA erstellen, die nach einem bestimmten Wort sucht und es entfernt.
  • Makros speichern: Speichere deine VBA-Skripte als Makros, um sie später schnell wiederverwenden zu können.

FAQ: Häufige Fragen

1. Wie lösche ich das letzte Wort einer Zelle?
Du kannst die Formel =LINKS(A1;LÄNGE(A1)-LÄNGE(RECHTS(A1;FINDEN(" ";REVERSE(A1))-1))) verwenden, um das letzte Wort zu entfernen.

2. Wie kann ich mehrere Wörter in einer Zelle entfernen?
Verwende die Funktion =WECHSELN(A1; "Wort"; ""), um ein bestimmtes Wort zu entfernen. Du kannst diese Funktion auch in VBA für eine umfangreiche Bearbeitung nutzen.

3. Gibt es eine Methode, um ein Wort aus allen Zellen gleichzeitig zu löschen?
Ja, du kannst ein VBA-Makro verwenden, um durch alle Zellen eines markierten Bereichs zu iterieren und das gewünschte Wort zu entfernen.

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