• 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 naar kolommen

  • Onderwerp starter Onderwerp starter Nickz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Nickz

Gebruiker
Lid geworden
30 mei 2007
Berichten
74
Ik heb een kolom, die bestaat uit tekst en getallen. Is een voorwaarde mogelijk dat deze gesplitst worden? Ik dacht zelf op het eerste getal, echter is deze niet constant.

Voorbeeld: DOOS05019
 
:confused::confused:
Plaats eens de xls file als voorbeeld. Dit zegt niet zo veel

Ron
 
Ik heb een kolom, die bestaat uit tekst en getallen. Is een voorwaarde mogelijk dat deze gesplitst worden? Ik dacht zelf op het eerste getal, echter is deze niet constant.

Voorbeeld: DOOS05019

Wat zijn wel de constante factoren in de kolom?

Met vriendelijke groet,


Roncancio
 
de 0 is redelijk constant... maar niet altijd het geval
Je hebt helemaal geen constante, zodat het erg moeilijk is, Ik heb toch maar een poging gewaagd om het met formule's te doen. De formule's heb ik moeten verwijderen, aangezien het bestandje anders te groot was.

Kolom B geeft de letters, kolom C de cijfers, kolom E is een hulp kolom.
Alle rijen waarbij kolom A oranje is gaat het fout, omdat daar in kolom A letters, cijfers en hierna weer letters voorkomen. deze zal je handmatig moeten doen.

Misschien heb je er wat aan.
 

Bijlagen

Werkt mooi hoor, maar hoe zou je de eerst 0 kunnen terug krijgen die wordt weggelaten?
Die '0' wordt weggelaten omdat de functie van het data-type Double is. Om je nul weer terug te krijgen zal je 2 kleine aanpassingen moeten maken...
Code:
Function ExtractNumber(rCell As Range, _
    Optional Take_decimal As Boolean, Optional Take_negative As Boolean) As [COLOR="Blue"]Double[/COLOR]

wordt...

Function ExtractNumber(rCell As Range, _
    Optional Take_decimal As Boolean, Optional Take_negative As Boolean) As [COLOR="blue"]String[/COLOR]

Code:
    ExtractNumber = [COLOR="blue"]CDbl([/COLOR]lNum[COLOR="blue"])[/COLOR]

wordt....

    ExtractNumber = [COLOR="blue"]lNum[/COLOR]

Groet, Leo
 
Die '0' wordt weggelaten omdat de functie van het data-type Double is. Om je nul weer terug te krijgen zal je 2 kleine aanpassingen moeten maken...
Code:
Function ExtractNumber(rCell As Range, _
    Optional Take_decimal As Boolean, Optional Take_negative As Boolean) As [COLOR="Blue"]Double[/COLOR]

wordt...

Function ExtractNumber(rCell As Range, _
    Optional Take_decimal As Boolean, Optional Take_negative As Boolean) As [COLOR="blue"]String[/COLOR]

Code:
    ExtractNumber = [COLOR="blue"]CDbl([/COLOR]lNum[COLOR="blue"])[/COLOR]

wordt....

    ExtractNumber = [COLOR="blue"]lNum[/COLOR]

Groet, Leo

Voor mij nogal abracadabra, maar het werkt goed:thumb:
Zit de TS alleen nog met de letters;)
 
Ik dacht dat er gesplitst kon worden bij de eerste 0, maar A1464 bv. ziet er zo uit: BOU016PAL05 .
Is het dan de bedoeling dat die cel gesplitst wordt in 4 delen: BOU - 016 - PAL - 05 ?
 
Bandito Bob zei:
Zit de TS alleen nog met de letters;)
Aiiiiii...:o Mijn toevoeging slaat dus helemaal nergens op....:eek: Ik dacht dat alleen het getal uit de string gehaald moest worden. Maar er wordt inderdaad gevraagd om 't splitsen van de tekst en het getal...

Zapatr zei:
Is het dan de bedoeling dat die cel gesplitst wordt in 4 delen: BOU - 016 - PAL - 05 ?
Daarmee is jouw vraag HELEMAAL terecht! Dan toch maar ff de TS afwachten?;)

Groet, Leo
 
Zonder verdere info van de vraagsteller kunnen we idd niet veel doen nu.
 
Op deze wijze wordt de cel gesplitst in haar alfabetische en nummerieke componenten !

Nog steeds niet helemaal, rij 59 gaat b.v. fout.
Misschien kan de TS met de aangedragen (bijna) oplossingen wel uit de voeten...
 
Hierbij dan nog een functie die de genoemde text string uit elkaar haalt op basis van getal of tekst. Het resultaat van de functie is een puntkomma gescheiden regel. Deze regel(s) kan je vervolgens via de Text Import Wizard (of Text To Columns) op de puntkomma naar kolommen zetten....
Code:
Function SplitsTekst(sTekst As String) As Variant
'Splits een tekst in een puntkomma gescheiden regel
'Leo Meijer; Helpmij.NL; 06/06/2008
Dim i As Integer, iAantal As Integer
Dim arrNrsInString() As Variant
Dim sTempNr As String

'    Application.Volatile
    
    iAantal = 0
    
    For i = 1 To Len(sTekst)
        If Mid(sTekst, i, 1) Like "[0-9]" Then
            Do While Mid(sTekst, i, 1) Like "[0-9]"
                If i > Len(sTekst) Then GoTo Klaar
                sTempNr = sTempNr & Mid(sTekst, i, 1)
                i = i + 1
            Loop
        Else
            Do While Not Mid(sTekst, i, 1) Like "[0-9]"
                If i > Len(sTekst) Then GoTo Klaar
                sTempNr = sTempNr & Mid(sTekst, i, 1)
                i = i + 1
            Loop
        End If
Klaar:
            ReDim Preserve arrNrsInString(iAantal)
            arrNrsInString(iAantal) = sTempNr
            sTempNr = ""
            iAantal = iAantal + 1
            i = i - 1
    Next i
    
    SplitsTekst = Join(arrNrsInString, "; ")
    
End Function
(ik had TOCH wat goed te maken na m'n foute eerste interpretatie...;) )

Groet, Leo
 
Laatst bewerkt:
De TS (is die er nog:confused:) ......
Dat is het vervelende vaak hier, vind ik.
Zolang topicstarters nog geen antwoord naar wens hebben, blijven ze maar vragen stellen.
Hebben ze eenmaal een oplossing, dan laten ze zich vaak niet meer horen en zijn ze soms nog te beroerd om de vraag als 'opgelost' te markeren.
 
Bandito Bob zei:
Goede oplossing
Mijn dank! :)

Nu ff héél erg off topic...

Zapatr zei:
Dat is het vervelende vaak hier, vind ik.
Zolang topicstarters nog geen antwoord naar wens hebben, blijven ze maar vragen stellen.
Hebben ze eenmaal een oplossing, dan laten ze zich vaak niet meer horen en zijn ze soms nog te beroerd om de vraag als 'opgelost' te markeren.
Zapatr, het is echt niet alleen op dit forum. Ook bij andere fora gebeurt dat. Persoonlijk vind ik het óók jammer als je geen reactie meer krijgt terwijl de vraag wel netjes op 'opgelost' wordt gezet. Of nog erger vind ik het als de TS überhaupt niet meer reageert na het stellen van de vraag. Waarschijnlijk is de vraag dan op meerdere fora geplaatst en kwam er bij de ander een snellere reactie. Of de TS heeft in de tussentijd zelf een oplossing bedacht.

Maarrrr.... Ik weet niet wat jullie basis is voor het helpen, maar voor mij is het een win-win situatie. Ik ben erg graag met Excel bezig om mijn kennis daarin uit te breiden (vooral op VBA gebied), maar begon wat problemen te krijgen met het verzinnen van vraagstukken. DIE worden me nu tenminste aangereikt.;) Dus als een TS niet meer reageert maar wel een leuke case heeft neergelegd, ben ik toch voor het grootste deel tevreden.

Groet, Leo
 
Laatst bewerkt:
Beste Ginger,
Blijf vooral voortdoen,goe bezig:thumb:
Nu een klein vraagje, bij het omzetten van tekst naar kolommen vallen bij mij de voorloopnullen weg, hoe kunnen ze behouden blijven?

Mvg

Rudi
 
Warm Bakkertje zei:
Beste Ginger,
Blijf vooral voortdoen
TUUUUUURLIJK!!!:D

Warm Bakkertje zei:
bij het omzetten van tekst naar kolommen vallen bij mij de voorloopnullen weg, hoe kunnen ze behouden blijven?
In stop 3 van de wizard kan je aangeven in welke opmaak je een kolom wilt hebben. Selecteer de kolom in de wizard (die wordt dan zwart) en klik dan op het keuzerondje 'Text' (in het nederlands waarschijnlijk 'Tekst'). Als je daarna op voltooien klikt, zal je netjes je voorloopnul(len) in je sheet zien.

Groet, Leo
 
Top:thumb:

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan