• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

inhoud van een cel splitsen op basis van aantal karakters

Status
Niet open voor verdere reacties.

Jansap

Gebruiker
Lid geworden
20 okt 2005
Berichten
70
Hallo,

Is het mogelijk om een cel inhoud te splitsen opbasis van het aantal karakters in de cel.

Zie voorbeeld bestand.
kolom A is de te splitsen kolom.

Kolom B & C zou het resultaat moeten zijn.

Er staan in mijn daadwerkelijke bestand ongeveer 10000 items in kolom A door elkaar heen. Als je gaat sorteren dan sorteer je op numerieke volgorde.

Heb op dit moment het licht nog niet gezien, misschien is er iemand die mij op weg kan helpen.

Hartelijk dank

JanBekijk bijlage test_splitsen.xls
 
Wil je splitsen tussen nummers en text of echt het aantal. In je voorbeeld splits je namelijk cijfers en letters en niet, bijvoorbeeld na 4 characters. Splitsen op een vast aantal characters is prima te doen met de LINKS(LEFT) functie, maar je voorbeeld geeft een ander scenario.
 
Ik wil splitsen op numerieke en niet numerieke items, zoals het voorbeeld aangeef.
De numerieke items zijn 3 , 4 of 5 karakters groot.
Vandaar mijn idee op splitsen op aantal karakters, maar via de keuze numeriek en niet numeriek kan ook misschien
 
Met een macro'tje kan het wel

Jansap, deze macro doet wat je wil, mits de te splitsen cellen in kolom A staan en je zelf in cel B2 staat als je de macro start.
Code:
Sub SplitsCel()

For AantalRegels = 1 To Range("A65536").End(xlUp).Row

    Waarde = ActiveCell.Offset(0, -1).Range("A1").Value
    AantalTekens = Len(Waarde)
    
    Letter = Asc(Left(Waarde, 1))
        If Letter > 64 Then Gevonden = Zoekletter
        For Zoekletter = 2 To AantalTekens
            If Gevonden = "" Then
                Letter = Asc(Mid(Waarde, Zoekletter, 1))
                If Letter > 64 Then Gevonden = Zoekletter:
            End If
        Next
    
        ActiveCell.Value = Left(Waarde, Gevonden - 1)
        ActiveCell.Offset(0, 1).Range("A1").Value = Right(Waarde, Len(Waarde) - Gevonden + 1)
    
    ActiveCell.Offset(1, 0).Select
    Gevonden = ""
Next
End Sub

Het kan waarschijnlijker simpeler met een functie maar daar ben ik niet zo handig in.

Suc6
 
Jan,

Een opzetje gemaakt, waarin ik er nu even van uit ga dat de lengte van het eerste deel tussen 4 en 8 ligt. Anders kun je de formule aanpassen tot maximaal zeven als-en.
 

Bijlagen

cell splitsen

heren beide hartelijk dank.

De funktie werken en de vba code werkt ook.
SUPER.

Ik kan weer verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan