Wiel wil, kan en helpt mij met mijn probleem.
Vanuit een ascii bestand wordt middels een macro een bestand verwerkt.
Het probleem is echter dat ik een geldgetal niet decimaal krijg.
Bv 11696 moet 116,96 worden.
Momenteel doe ik het handmatig na het uitvoeren van de macro, door een aparte kolom met formule te maken
en de layout aan te passen met opschuiven van komma.
Het betreffende deel van macro doe ik hierbij.
Het gaat zich om regel waarin 438 en 483 staat.
Heel veel dank voor de te nemen moeite.
R = 2
Set regel = Ws2.Cells(R, K)
For x = 1 To rng.Row 'controleer alle cellen in blad1 vanaf a1
Set cel = Ws1.Cells(x, 1)
l = Len(cel)
If Left(cel, 2) = "01" Then
regel.Offset(0, 1).Value = Mid(cel, 81, 12) '0116
regel.Offset(0, 2).Value = Mid(cel, 311, 12) '0181
regel.Offset(0, 3).Value = Mid(cel, 335, 8) '0182
ElseIf Left(cel, 2) = "02" Then
regel.Offset(0, 4).Value = Mid(cel, 43, 11) '0206
regel.Offset(0, 5).Value = Mid(cel, 54, 8) '0207
regel.Offset(0, 6).Value = Mid(cel, 64, 20) '0210
ElseIf Left(cel, 2) = "04" Then
eindereeks = True 'einde reeks is waar
regel.Offset(0, 7).Value = Mid(cel, 243, 8) '0438
regel.Offset(0, 8).Value = Mid(cel, 251, 1) '0439
regel.Offset(0, 9).Value = Mid(cel, 320, 8) '0483
regel.Offset(0, 10).Value = Mid(cel, 328, 1) '0484
regel.Offset(0, 11).Value = Mid(cel, 329, 4) '0496
regel.Offset(0, 12).Value = Mid(cel, 333, 4) '0497
regel.Offset(0, 13).Value = Mid(cel, 252, 20) '0440
End If
If eindereeks Then 'controle op reeksen van 2
R = R + 1
Set regel = Ws2.Cells(R, K) 'ga een rij omlaag in blad2
eindereeks = False
End If
Next
End Sub
Vanuit een ascii bestand wordt middels een macro een bestand verwerkt.
Het probleem is echter dat ik een geldgetal niet decimaal krijg.
Bv 11696 moet 116,96 worden.
Momenteel doe ik het handmatig na het uitvoeren van de macro, door een aparte kolom met formule te maken
en de layout aan te passen met opschuiven van komma.
Het betreffende deel van macro doe ik hierbij.
Het gaat zich om regel waarin 438 en 483 staat.
Heel veel dank voor de te nemen moeite.
R = 2
Set regel = Ws2.Cells(R, K)
For x = 1 To rng.Row 'controleer alle cellen in blad1 vanaf a1
Set cel = Ws1.Cells(x, 1)
l = Len(cel)
If Left(cel, 2) = "01" Then
regel.Offset(0, 1).Value = Mid(cel, 81, 12) '0116
regel.Offset(0, 2).Value = Mid(cel, 311, 12) '0181
regel.Offset(0, 3).Value = Mid(cel, 335, 8) '0182
ElseIf Left(cel, 2) = "02" Then
regel.Offset(0, 4).Value = Mid(cel, 43, 11) '0206
regel.Offset(0, 5).Value = Mid(cel, 54, 8) '0207
regel.Offset(0, 6).Value = Mid(cel, 64, 20) '0210
ElseIf Left(cel, 2) = "04" Then
eindereeks = True 'einde reeks is waar
regel.Offset(0, 7).Value = Mid(cel, 243, 8) '0438
regel.Offset(0, 8).Value = Mid(cel, 251, 1) '0439
regel.Offset(0, 9).Value = Mid(cel, 320, 8) '0483
regel.Offset(0, 10).Value = Mid(cel, 328, 1) '0484
regel.Offset(0, 11).Value = Mid(cel, 329, 4) '0496
regel.Offset(0, 12).Value = Mid(cel, 333, 4) '0497
regel.Offset(0, 13).Value = Mid(cel, 252, 20) '0440
End If
If eindereeks Then 'controle op reeksen van 2
R = R + 1
Set regel = Ws2.Cells(R, K) 'ga een rij omlaag in blad2
eindereeks = False
End If
Next
End Sub