kattnerzone
Goto Top

Excel Spalte teilen (nach max. Länge und Wörtern)

Guten Tag, ich habe folgendes Problem:

In dem Feld A1 steht z.B.: Zylinderschraube DIN912 M5x25 A2

Das Feld darf jetzt aber nur noch 20 Zeichen beinhalten, alles was darüber hinaus geht, soll in das Feld B1 kopiert werden.
Habe dafür auch schon die Funktion "TEIL" gefunden, bloß leider schneidet die Funktion das Feld nach genau 20 Zeichen ab.

Leider passt das dann sehr häufig nicht mehr mit den Wörtern im Feld zusammen.

Bei dem Beispiel würde dann z.B. im Feld A1 "Zylinderschraube DIN" stehen und der Rest im anderen Feld. Das macht natürlich nicht ganz so viel Sinn.

Excel müsste dann z.B. im Feld A1 nur Zylinderschraube stehen lassen und den Rest in das nächste Feld kopieren.

Es würde aber leider auch nicht ausreichen, wenn nach dem ersten Wort abgeschnitten wird, weil evtl. die ersten 3 Wörter bloß 14 Zeichen lang sind und auch zusammen gehören z.B. Handrad Typ 50 (Feld A1) und dann Linksgewinde (Feld B1). Deshalb funktioniert auch die Funktion Text in Spalten nicht.

Hat evtl. jemand eine Lösung für mein Problem, denn es wäre echt mühselig, wenn man nachher durch alle Zeilen gehen muss und die Werte anpassen.

Gruß
Kattnerzone

Content-ID: 126798

Url: https://administrator.de/contentid/126798

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

godlie
godlie 09.10.2009 um 13:24:45 Uhr
Goto Top
Hallo,

ich fasse mal zusammen du brauchst eine Funktion die dir nach 20 Zeichen etwas trennt,
wobei aber die Sinnhaftigkeit erhalten bleibt?

Dann hab ich die Lösung für dich:
Besorg dir nen Praktikant!

Alternativ würde ich über ein Macro schaun wo das erste Leerzeichen ist und dort trennen.
wenns über 20 Zeichen ist, tja....
nube-li
nube-li 09.10.2009 um 13:35:52 Uhr
Goto Top
Es gibt da eine Funktion "links". schau dir die mal genauer an.
Die schneidet ab, jedoch verschiebt sie den Rest nicht in b1 oder sonst wohin.. für des brauchst ne andere Lösung face-smile
SamTrex
SamTrex 10.10.2009 um 01:17:30 Uhr
Goto Top
Guten Morgen Kattnerzone,

also, du könntest mit folgendem kleinen Macro eine Trennung bewerkstelligen:

Sub test()
    Dim a As String                         'Variable deklarieren / Zellenwert als String!  
    a = Range("a1").Value                   'Wert aus Zelle in Variable "a" einlesen  
    If Len(a) > 20 Then                     'Prüfen ob String länger wie 20 Zeichen  
        Range("A1").Value = Mid(a, 1, 20)   'Inhalt von "a" bis Zeichen 20 in Zelle A1 schreiben  
        Range("B1").Value = Mid(a, 21)      'Inhalt von "a" ab Zeichen 21 in Zelle B1 schreiben  
    End If
    a = Nothing                             'Variable zerstören  
End Sub

Du könntest jetzt natürlich auch die IF Abfrage gegen eine SELECT CASE Abfrage tauschen und noch mehr Bedingungen setzten.
Allerdings kann das Macro nie wissen wo du deinen String am liebsten trennen möchtest ....

Gruß Sam