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

Forumthread: Erste 3 Zeichen entfernen

Erste 3 Zeichen entfernen
18.12.2018 12:59:59
Alex
Hi, ich habe hier eine Schleife was mir den Inhalt einer Zelle teilt
Beispiel in B8 steht:

pos3 Grundplatte

Danach steht in B8 "pos3" und in B9 "Grundplatte"

Dim Liste As Range
Dim Ziel As Range
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
'Daten von B9 bis B200
'Daten werden beim Leerzeichen getrennt
Set Liste = .Range("B9:B200" & .Cells(.Rows.Count, 1).End(xlUp).Row)
Liste.TextToColumns Destination:=Liste(1), Space:=True
End With

jetzt würde ich gerne noch die ersten 3 Zeichen abschneiden (pos), kann ich das in die Schleife mit integrieren?
Vielleicht mit

Right(AnyString, 3)  

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste 3 Zeichen entfernen
18.12.2018 13:07:22
UweD
Hallo
in VBA
=mid([B8],4)
ergibt den Rest ab 4. Stelle, bei Weglassen des dritten Parmeters geht das Ganze bis zum Schluss
LG UweD
AW: Erste 3 Zeichen entfernen
18.12.2018 13:14:26
Alex
Habe mich vertan, nach dem aufteilen wird das nach rechts geschoben. "Grundplatte" steht also dann in C8
=mid([B8],4)

Damit wende ich das ja nur auf B8 an oder? Ich würde das gerne mit in die Schleife integrieren. Also B9 bis B200.
Kann ich das hier mit einfügen?
Set Liste = .Range("B9:B200" & .Cells(.Rows.Count, 1).End(xlUp).Row)
Liste.TextToColumns Destination:=Liste(1), Space:=True

Anzeige
lad doch mal Musterdatei hoch
18.12.2018 13:22:04
UweD
AW: lad doch mal Musterdatei hoch
18.12.2018 13:55:55
UweD
Hallo
im 2. Anlauf, Daten, Text in Spalten, feste Länge (Trennung nach 3), Erste Spalte ignorieren..
im Makro dann so
    With ws
        'Daten von B2 bis Bxx aufteilen 
        'Daten werden beim Leerzeichen getrennt 
        Application.DisplayAlerts = False
        Set Liste = .Range("B9:B" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        Liste.TextToColumns Destination:=Liste(1), Space:=True
        Liste.TextToColumns Destination:=Liste(1), DataType:=xlFixedWidth, _
            FieldInfo:=Array(Array(0, 9), Array(3, 1))
        Application.DisplayAlerts = True
    End With

LG UweD
Anzeige
AW: lad doch mal Musterdatei hoch
18.12.2018 14:00:33
Alex
Perfekt, vielen Dank :)
Danke für die Rückmeldung owT
18.12.2018 14:26:28
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Erste 3 Zeichen aus einer Zelle entfernen


Schritt-für-Schritt-Anleitung

Um die ersten 3 Zeichen aus einer Zelle in Excel zu entfernen, kannst Du die Funktion MID in Kombination mit VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.

  3. Kopiere folgenden Code in das Modul:

    Sub RemoveFirstThreeCharacters()
       Dim Liste As Range
       Dim ws As Worksheet
       Set ws = ActiveSheet
    
       With ws
           ' Daten von B9 bis B200
           Set Liste = .Range("B9:B200" & .Cells(.Rows.Count, 1).End(xlUp).Row)
           ' Text in Spalten aufteilen
           Liste.TextToColumns Destination:=Liste(1), Space:=True
    
           Dim Cell As Range
           For Each Cell In Liste
               ' Erste 3 Zeichen entfernen
               Cell.Value = Mid(Cell.Value, 4)
           Next Cell
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: ALT + F8, wähle RemoveFirstThreeCharacters und klicke auf "Ausführen".

Diese Schritte helfen Dir, die ersten 3 Zeichen zu löschen und die Zellen ab B9 bis B200 zu bearbeiten.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler.

    • Lösung: Überprüfe, ob Du die richtigen Zellreferenzen angegeben hast und dass die Zellen nicht leer sind.
  • Fehler: Nach dem Entfernen der ersten 3 Zeichen erscheinen unerwartete Leerzeichen.

    • Lösung: Verwende die Funktion TRIM, um unerwünschte Leerzeichen zu entfernen. Beispiel: Cell.Value = Trim(Mid(Cell.Value, 4)).

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch die Excel-Funktion RECHTS verwenden:

  1. Angenommen, der Text steht in Zelle B8.
  2. In Zelle C8 kannst Du folgende Formel eingeben:

    =RECHTS(B8;LÄNGE(B8)-3)

Diese Formel entfernt die ersten 3 Zeichen aus B8 und zeigt das Ergebnis in C8 an. Ziehe die Formel nach unten, um sie auf weitere Zellen anzuwenden.


Praktische Beispiele

  1. Beispiel 1: Wenn in Zelle B8 steht pos3 Grundplatte, wird nach der Anwendung der Methode pos3 entfernt und das Ergebnis ist Grundplatte.

  2. Beispiel 2: Wenn in Zelle B9 steht abc123, wird die Zelle nach der Anwendung auf 123 geändert.


Tipps für Profis

  • Nutze die IFERROR-Funktion, um Fehler beim Entfernen der ersten 3 Zeichen zu vermeiden. Beispiel:

    =IFERROR(RECHTS(B8;LÄNGE(B8)-3);"")
  • Du kannst auch bedingte Formatierungen verwenden, um die Zellen hervorzuheben, die bearbeitet wurden.


FAQ: Häufige Fragen

1. Wie kann ich die ersten 3 Zeichen aus mehreren Zellen gleichzeitig entfernen? Du kannst das oben genannte VBA-Skript verwenden, um die ersten 3 Zeichen aus einem definierten Zellbereich zu entfernen.

2. Kann ich die Funktion auch ohne VBA verwenden? Ja, Du kannst die RECHTS-Funktion in Excel nutzen, um die ersten 3 Zeichen zu löschen, ohne VBA zu verwenden.

3. Was passiert, wenn die Zelle weniger als 3 Zeichen enthält? Wenn weniger als 3 Zeichen vorhanden sind, wird das Ergebnis leer sein. Du kannst dies mit einer IF-Bedingung abfangen, um zu überprüfen, ob die Länge der Zelle größer als 3 ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige