Live-Forum - Die aktuellen Beiträge
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
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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
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