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
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
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
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
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
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
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
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:
=RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1))
2. Mit VBA:
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
Fehler: Die Formel gibt einen Fehler zurück, wenn es kein Leerzeichen gibt.
=WENNFEHLER(RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1)); A1)
Fehler: Das VBA-Skript funktioniert nicht.
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.
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
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.
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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen