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

Forumthread: Per VBA bis zu bestimmten Zeichen Werte löschen

Per VBA bis zu bestimmten Zeichen Werte löschen
10.10.2019 08:36:54
Heinz
Guten morgen im Forum,
Ich möchte gerne per VBA zB. in D9 u. K9 usw. Werte löschen.
Es steht hier zB. 13/3 T nun sollten die Werte "13/" gelöscht werden,das nur 3 T
stehen bleibt.
Also immer alle Werte Links inkl."/" löschen.
Ist aber in den Zellen kein "/" dann nichts löschen.
Es sollte geprüft werden ob in der Zelle ein "/" steht dann löschen, sonst so belassen.
Könnte mir bitte jemand dazu wer helfen?
Danke
SG, Heinz
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA bis zu bestimmten Zeichen Werte löschen
10.10.2019 09:16:21
Piet
Hallo
diesen kleinen Code in ein Modul kopiren und laufen lassen. Den Bereich kannst du selbst angeben.
mfg Piet
Const Bereich = "D9:K9"    'Hier bitte den Bereich angeben!
Sub Zeichen_löschen()
Dim AC As Range
'Breich bitte selbst einsetzen
For Each AC In Range(Bereich)
If InStr(AC, "/") Then
AC.Value = Mid(AC, InStr(AC, "/") + 1, Len(AC))
End If
Next AC
End Sub

Anzeige
AW: Per VBA bis zu bestimmten Zeichen Werte löschen
10.10.2019 09:17:46
Rob
Guten Morgen Heinz,
so z.B.:

Sub Stringbuilder()
Dim r As Range
For Each r In Range("D9").CurrentRegion
If InStr(r, "/") > 0 Then
r = Right(r, Len(r) - InStr(r, "/"))
End If
Next r
End Sub
Du musst nur noch die Range festlegen, die durchgegangen werden soll. Deine Angaben sind nicht eindeutig (z.B. D9 u. K9).
Grüße, rob
Anzeige
AW: Per VBA bis zu bestimmten Zeichen Werte löschen
10.10.2019 09:21:54
Werner
Hallo,
noch ne Version.
Range("D9,K9,R9").Replace What:="*/", Replacement:="", LookAt:=xlPart
Was das in D9 u. K9 usw. bedeutet kannst nur du wissen.
Gruß Werner
Danke an Piet, Rob und Werner
10.10.2019 09:52:46
Heinz
Hallo ihr 3 Burschen,
Ihr habt mir alle drei super weitergeholfen.
Recht herzlichen D A N K !!
SG, Heinz
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
10.10.2019 09:57:33
Werner

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte per VBA bis zu bestimmten Zeichen löschen


Schritt-für-Schritt-Anleitung

Um Werte in Excel per VBA bis zu einem bestimmten Zeichen zu löschen, kannst du den folgenden Code verwenden. Dieser Code löscht alle Zeichen links vom Zeichen „/“, wenn es in der Zelle vorhanden ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.
  3. Kopiere den folgenden Code in das Modul:
Const Bereich = "D9:K9" 'Hier bitte den Bereich angeben!
Sub Zeichen_löschen()
    Dim AC As Range
    For Each AC In Range(Bereich)
        If InStr(AC, "/") Then
            AC.Value = Mid(AC, InStr(AC, "/") + 1, Len(AC))
        End If
    Next AC
End Sub
  1. Passe den Bereich an, falls nötig.
  2. Schließe den VBA-Editor und gehe zurück zu Excel.
  3. Drücke ALT + F8, wähle Zeichen_löschen und klicke auf „Ausführen“.

Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler“

    • Lösung: Stelle sicher, dass der angegebene Bereich korrekt ist und existiert. Überprüfe auch, ob du die richtigen Zellen ausgewählt hast.
  • Fehler: Nichts passiert, wenn der Code ausgeführt wird.

    • Lösung: Überprüfe, ob die Zellen tatsächlich das Zeichen „/“ enthalten. Ansonsten wird der Code keine Änderungen vornehmen.

Alternative Methoden

Eine alternative Möglichkeit, um Werte bis zu einem bestimmten Zeichen zu löschen, ist die Verwendung der Replace-Funktion:

Sub Alternative_Methode()
    Range("D9,K9,R9").Replace What:="*/", Replacement:="", LookAt:=xlPart
End Sub

Diese Methode ist effizient, wenn du mehrere Zellen auf einmal bearbeiten möchtest und kann direkt in eine Subroutine eingefügt werden.


Praktische Beispiele

  • Beispiel 1: Wenn die Zelle D9 den Wert „13/3 T“ enthält, wird nach der Ausführung des Codes nur „3 T“ in der Zelle verbleiben.
  • Beispiel 2: Wenn die Zelle K9 den Wert „20/4 A“ enthält, wird der Code „4 A“ hinterlassen.

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies kann helfen, Fehler im Code zu vermeiden.
  • Experimentiere mit verschiedenen Bereichen, um zu sehen, wie der Code sich verhält. Du kannst beispielsweise mehrere Bereiche kombinieren, um die Effizienz zu steigern.

FAQ: Häufige Fragen

1. Frage
Kann ich den Code auch für andere Zeichen anpassen?
Antwort: Ja, du kannst das Zeichen „/“ durch jedes andere Zeichen ersetzen, indem du es in der InStr-Funktion anpasst.

2. Frage
Welche Excel-Version benötige ich für diesen Code?
Antwort: Der Code funktioniert in den meisten modernen Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010, 2013, 2016 und 2019.

3. Frage
Könnte ich diesen Code auch auf eine ganze Spalte anwenden?
Antwort: Ja, du kannst den Bereich in der Range-Anweisung anpassen, um ganze Spalten (z.B. Range("D:D")) zu bearbeiten. Sei dir jedoch bewusst, dass dies die Leistung beeinträchtigen kann, wenn du sehr viele Zellen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige