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

splitsen

Status
Niet open voor verdere reacties.

jansen18

Gebruiker
Lid geworden
9 apr 2009
Berichten
57
Een soortgelijke vraag heb ik al een keer eerder geplaatst maar ik heb daar nu een aanvulling op wat ik niet kan oplossen.

Ik wil een macro maken waarbij ik de waarden in kolom A kan splitsen naar de waarden zoals ze in kolom D en E staan.

Met de vorige macro lukt het me niet om alle waarden te krijgen zoals in kolom D en E:
Code:
1.	Sub Getallen_Splitsen()
2.	Dim lRij As Long
3.	    lRij = 1
4.	    While Range("A" & lRij).Value <> ""
5.	        If IsNumeric(Right(Range("A" & lRij).Value, 1)) = False Then
6.	            Range("B" & lRij).Value = Left(Range("A" & lRij).Value, Len(Range("A" & lRij).Value) - 1)
7.	            Range("C" & lRij).Value = Right(Range("A" & lRij).Value, 1)
8.	        Else
9.	            Range("B" & lRij).Value = Range("A" & lRij).Value
10.	        End If
11.	        lRij = lRij + 1
12.	    Wend
13.End sub

Wie kan me helpen? Is het wel mogelijk om de waarden zoals in D en E te krijgen?
 

Bijlagen

  • vb splitsen.xls
    17 KB · Weergaven: 44
Laatst bewerkt door een moderator:
Probeer deze eens
Code:
Sub Getallen_Splitsen()
 Dim lRij As Long
 lRij = 2
 Columns("D:E").ClearContents
 While Range("A" & lRij).Value <> ""
    If InStr(1, Range("A" & lRij), "/", 1) <> 0 Then
        Range("D" & lRij).Value = Left(Range("A" & lRij).Value, 1)
        Range("E" & lRij).Value = Range("A" & lRij).Value
    ElseIf IsNumeric(Left(Range("A" & lRij).Value, 1)) = True Then
        Range("D" & lRij).Value = Left(Range("A" & lRij).Value, 1)
        Range("E" & lRij).Value = Right(Range("A" & lRij).Value, Len(Range("A" & lRij).Value) - 1)
    Else
        Range("D" & lRij).Value = Range("A" & lRij).Value
    End If
 lRij = lRij + 1
 Wend
End Sub
 
klein beetje aangepast
Code:
Sub Getallen_Splitsen2()
 Dim lRij As Long
 lRij = 2
 Columns("B:C").ClearContents
 While Range("A" & lRij).Value <> ""
    If InStr(1, Range("A" & lRij), "/", 1) <> 0 Then
        Range("B" & lRij).Value = Split(Range("A" & lRij).Value, "/", 2)(0) 'zo wordt 1c/1c :    1c  1c/2c
        Range("C" & lRij).Value = Range("A" & lRij).Value
    ElseIf IsNumeric(Left(Range("A" & lRij).Value, 1)) = True Then
        Range("B" & lRij).Value = Left(Range("A" & lRij).Value, 1)
        Range("C" & lRij).Value = Right(Range("A" & lRij).Value, Len(Range("A" & lRij).Value) - 1)
    Else
        Range("B" & lRij).Value = Range("A" & lRij).Value
    End If
 lRij = lRij + 1
 Wend
End Sub

groet sylvester
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan