• 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.

tekst en getallen in 1 cell splitsen naar meerdere cellen

Status
Niet open voor verdere reacties.

descheep

Gebruiker
Lid geworden
24 feb 2009
Berichten
153
Hi,

Graag zou ik hulp hebben met het navolgende:

Hoe krijg ik de tekst en de getallen die nu in 1 cel staan verspreid over 3 cellen.

Per cel heb ik dus tekst en 2 getallen gescheiden door een spatie.

Voorbeeld:

cel A1: Overige 212 48
cel A2: Alle Steden 142 110

- Tekst naar kolommen werkt niet, aangezien er in de tekst ook een spatie kan zitten
- Ik heb diverse oplossingen gevonden om de getallen eruit te krijgen, maar die oplossingen vallen over de spatie

Bovenstaande is slechts een voorbeeld.
In het echt gaat het over duizenden regels.

Ik hoor het graag mensen.

Groeten Marco
 
Het kan redelijk eenvoudig met een macro. Staat alles in kolom A en moet het antwoord in kolom B,C,D?
 
Het kan redelijk eenvoudig met een macro. Staat alles in kolom A en moet het antwoord in kolom B,C,D?

in principe wel.

zie net alleen dat er ook langere teksten tussen staan.

bijv:

Bandar Seri Begawan 120 47

waarbij de splitsing moet vallen tussen de tekst en de 2 getallen
 
volgens mij moet het hiermee gaan lukken

Code:
Sub splitsen()
    Dim RE As Object
    Dim MC As Object
    Dim M As Object
    Dim cell As Range

    Set RE = CreateObject("vbscript.regexp")
    RE.Pattern = "([^0-9]+) (\d+) (\d+)"
    RE.Global = True
    
    For Each cell In Range([a1], [a60000].End(xlUp))
        Set MC = RE.Execute(cell.Value)
        If MC.Count Then
            Set M = MC(0)
            
            cell.Offset(0, 1) = M.submatches(0)
            cell.Offset(0, 2) = M.submatches(1)
            cell.Offset(0, 3) = M.submatches(2)
            
        End If
    Next cell
End Sub
 
Laatst bewerkt:
ik zeg, dit lijkt er al op ;-)

nu kan er, zoals je al aangaf, een veld tussenzitten met een andere waarde.

zou je die paar extra regeltjes code nog kunnen toevoegen om de foutmelding te omzeilen?

is het trouwens lastig om de uitkomst in een blad2 te krijgen?
 
Laatst bewerkt:
de regels zijn al toegevoegd in mijn vorige post. toevoegen op een ander blad is niet zo'n probleem, maar dan is een kort voorbeeldje wel handig, dan kan het in 1 keer goed.
 
zoiets dan? In principe hoeft alleen de "DOEL" lijn aangepast te worden naar het juiste blad

Code:
Sub splitsen()
    Dim RE As Object
    Dim MC As Object
    Dim M As Object
    Dim cell As Range
    Dim doel As Range

    Set RE = CreateObject("vbscript.regexp")
    RE.Pattern = "([^0-9]+) (\d+) (\d+)"
    RE.Global = True
    
    For Each cell In Range([a1], [a60000].End(xlUp))
        Set MC = RE.Execute(cell.Value)
        If MC.Count Then
            Set M = MC(0)
            Set doel = Sheets("Blad2").[a60000].End(xlUp).Offset(1)
            doel = M.submatches(0)
            doel.Offset(0, 1) = M.submatches(1)
            doel.Offset(0, 2) = M.submatches(2)
        Else
            Set doel = Sheets("Blad2").[a60000].End(xlUp).Offset(1)
            doel = cell
            doel.Font.Bold = True
        End If
    Next cell
End Sub
 
:thumb::thumb::thumb:

meer dan opgelost

super, hier kunnen we iets mee.....

bedankt voor de tijd die je erin gestoken hebt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan