Scheiden cellen

Status
Niet open voor verdere reacties.

Teddymanneke

Nieuwe gebruiker
Lid geworden
19 okt 2015
Berichten
1
Hallo,

Ik moet een groot aantal cellen splitsen op basis van hun karakter en gegevens.

Bijvoorbeeld: Volgende cellen heb ik; A1 = 875M2, A2 = 75K02, A3 = 87/02M4, A4 = 65H

Ik moet dus de cellen splitsen in verschillende cellen zodat in de eerste kolom alles voor de eerste letter staat, in de tweede kolom alleen de letter en in de derde kolom alles na de letter.

Wat ik dus zou moeten hebben is als volgt:

1 2 3 4
A1 875M2 875 M 2
A2 75K02 75 K 02
A3 87/02M4 87/02 M 4
A4 65H 65 H

Zou iemand hiervoor een programmatje kunnen schrijven? Ik kan een beetje met VBA werken maar heb niet echt een idee hoe hieraan te beginnen.

Alvast hartelijk bedankt.

Groeten, Teddy
 
Op zich is dit niet zo moeilijk en kan het denk ik ook wel met formules zeker gezien de paar mogelijkheden die je laat zien. Maar dat zal wel ver van de waarheid liggen.

Dit soort halve vragen roepen eigenlijk meer vragen op dan dat het logisch zou zijn om er iets voor te programmeren. Wat als er een kleine letter in de code staat? Wat als de code begint met een letter? Of als er geen letter in de code staat? Welke tekens komen er nog meer voor naast de "/"?

Maar omdat het helpmij heet:d

Probeer deze eens:
Code:
Sub VenA()
With Sheets(1).Cells(1)
    ar = .CurrentRegion
    ReDim ar1(1 To UBound(ar), 1 To 3) As String
    For j = 1 To UBound(ar)
        For jj = 1 To Len(ar(j, 1))
            If Asc(UCase(Mid(ar(j, 1), jj))) < 65 Or Asc(UCase(Mid(ar(j, 1), jj))) > 90 Then
                ar1(j, 1) = ar1(j, 1) & Mid(ar(j, 1), jj, 1)
            Else
                ar1(j, 2) = Mid(ar(j, 1), jj, 1)
                ar1(j, 3) = Mid(ar(j, 1), jj + 1)
                Exit For
            End If
        Next jj
    Next j
    .Offset(, 1).Resize(UBound(ar1), 3) = ar1
End With
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan