
Wie kann ich das vierte Wort in jeder Spalte einer Excel-Tabelle löschen? Ich habe beispielsweise „Herr und Frau Smith“. Ich möchte „Herr und Frau“ behalten, aber „Smith“ löschen. Gibt es keine Möglichkeit, das vierte Wort zu finden und zu löschen? Vielen Dank für jede Hilfe …
Antwort1
Dies ist eine Art Workaround, funktioniert aber, wenn Sie nur mit normalem Text (keine Formeln) arbeiten.
Nehmen wir an, Ihr Blatt mit den Daten heißt „Sheet1“. Erstellen Sie ein neues Arbeitsblatt in Ihrer Tabelle (nehmen wir an, es heißt „Sheet2“) und geben Sie in A1 Folgendes ein:
=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),"")
Wenn Sie löschen möchtennurGeben Sie für das vierte Wort Folgendes ein:
=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1))&RIGHT(Sheet1!A1,LEN(Sheet1!A1)-FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)+1)),IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),""))
Kopieren Sie Zelle A1 und fügen Sie sie in die Zellen auf Blatt2 ein, die mit den Zellen auf Blatt1 übereinstimmen, mit denen Sie arbeiten möchten. (Wenn Sie also Daten auf Blatt1 in den Zellen A1 bis D5 haben, fügen Sie sie auf Blatt2 in den Zellen A1 bis D5 ein.) Kopieren Sie alle Zellen, die Sie eingefügt haben, wechseln Sie zu Blatt1 undWerte einfügenan den passenden Stellen. Sie können nun Sheet2 löschen.
Antwort2
Das ist vielleicht eine verrückte Idee, aber versuchen Sie, die Datei in eine durch Leerzeichen getrennte Datei umzuwandeln und sie dann mit Excel zu öffnen. Löschen Sie nun die vierte Spalte.Auf dem Papier klingt das gut …Ansonsten weiß ich nichts.
Antwort3
Hier ist eine elegantere/effizientere Möglichkeit, dies zu tun, wenn Sie mit dem Einfügen eines Visual Basic-Makros einverstanden sind:
Nehmen wir an, Ihr Blatt mit den darauf enthaltenen Daten heißt „Sheet1“.
- Auf derEntwickleraufMakros. (Wenn es keineEntwicklerKlicken Sie auf die große rundeMicrosoft Office-SchaltflächeKlicken Sie oben links im Fenster aufExcel-Optionen, dann klickBeliebtund klicken Sie dann auf dieRegisterkarte „Entwickler“ im Menüband anzeigen).
- Ein Dialogfeld wird eingeblendet.Makroname:Geben Sie Ihrem Makro im Textfeld einen Namen, etwa wieViertes Wort löschenwird funktionieren.
- Drücke denErstellen(Wenn dieErstellenSchaltfläche immer noch deaktiviert ist, entfernen Sie Leerzeichen und Satzzeichen aus Ihrem Makronamen.)
Fügen Sie im angezeigten Fenster Folgendes in den Bereich zwischen „Sub DeleteFourthWord()“ und „End Sub“ ein:
For Each c In ActiveCell.CurrentRegion.Cells If c.HasFormula = False Then Original_Cell_Text = c.Value Text_To_Parse = Original_Cell_Text Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare)) If Len(Word1) = 0 Then Word1 = Text_To_Parse Text_To_Parse = "" Else Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1)) End If Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare)) If Len(Word2) = 0 Then Word2 = Text_To_Parse Text_To_Parse = "" Else Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2)) End If Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare)) If Len(Word3) = 0 Then Word3 = Text_To_Parse Text_To_Parse = "" Else Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3)) End If Word4 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare)) If Len(Word4) = 0 Then Word4 = Text_To_Parse Text_To_Parse = "" Else Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word4)) End If Remaining_Text = Text_To_Parse If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0 And Len(Word4) > 0) Then If Len(Remaining_Text) > 0 Then c.Value = Word1 + Word2 + Word3 + Remaining_Text Else c.Value = Word1 + Word2 + Word3 End If End If End If Next
SchließeMicrosoft Visual Basicund klicken Sie aufMakrosauf derEntwicklerTab.
- Wählen Sie das soeben erstellte Makro aus und klicken Sie auf dasOptionen...Taste.
- UnterTastenkürzel, wählen Sie eine Tastenkombination für diese Funktion aus (in diesem Beispiel verwende ich die Taste „t“) und geben Sie sie dort ein.
- Drück denOKund schließen Sie dann dieMakroDialogbox.
- Wählen Sie die Zellen aus, aus denen Sie das vierte Wort entfernen möchten, und drücken Sie die Tastenkombination (z. B. Strg+T). Sie können diesen Schritt beliebig oft wiederholen.
Notiz:Wenn Sie alles nach dem dritten Wort löschen möchten, fügen Sie stattdessen Folgendes ein:
For Each c In ActiveCell.CurrentRegion.Cells
If c.HasFormula = False Then
Original_Cell_Text = c.Value
Text_To_Parse = Original_Cell_Text
Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
If Len(Word1) = 0 Then
Word1 = Text_To_Parse
Text_To_Parse = ""
Else
Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1))
End If
Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
If Len(Word2) = 0 Then
Word2 = Text_To_Parse
Text_To_Parse = ""
Else
Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2))
End If
Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
If Len(Word3) = 0 Then
Word3 = Text_To_Parse
Text_To_Parse = ""
Else
Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3))
End If
Remaining_Text = Text_To_Parse
If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0) Then
c.Value = Word1 + Word2 + Word3
End If
End If
Next
(Quellenhinweis: Ich habe die Anweisungen zum Abrufen der Registerkarte „Entwickler“ aus der Excel-Hilfedatei geändert.)