Microsoft Excel

Herbers Excel/VBA-Archiv

Erste 3 Zeichen entfernen


Betrifft: Erste 3 Zeichen entfernen
von: Alex
Geschrieben am: 18.12.2018 12:59:59

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)  

  

Betrifft: AW: Erste 3 Zeichen entfernen
von: UweD
Geschrieben am: 18.12.2018 13:07:22

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


  

Betrifft: AW: Erste 3 Zeichen entfernen
von: Alex
Geschrieben am: 18.12.2018 13:14:26

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



  

Betrifft: lad doch mal Musterdatei hoch
von: UweD
Geschrieben am: 18.12.2018 13:22:04




  

Betrifft: AW: lad doch mal Musterdatei hoch
von: Alex
Geschrieben am: 18.12.2018 13:33:22

Hier die Beispieldatei
http://www.herber.de/bbs/user/126186.xlsm


  

Betrifft: AW: lad doch mal Musterdatei hoch
von: UweD
Geschrieben am: 18.12.2018 13:55:55

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


  

Betrifft: AW: lad doch mal Musterdatei hoch
von: Alex
Geschrieben am: 18.12.2018 14:00:33

Perfekt, vielen Dank :)


  

Betrifft: Danke für die Rückmeldung owT
von: UweD
Geschrieben am: 18.12.2018 14:26:28