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

BTWnummer splitsen letters split van cijfers

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

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik heb hier van het forum al een code gekregen voor het splitsen van BTWnummers

Nl123456789B01 wordt dan Nl 123456789B01
Nu komt het voor dat er een 0 ingevuld staat, maar de code loop hier op vast.
Is dit op te vangen dat hij de 0 overslaat en verder gaat met de regel er onder.

Ik hoop dat er een mogelijk is om mij hiermee te ondersteunen.

Groet HWV

Code:
Sub splitten()
  On Error Resume Next
  For Each cl In ActiveSheet.Columns(26).SpecialCells(xlCellTypeConstants)
    If cl.Row > 3 Then
      j = 1
      Do Until Val(Mid(cl, j)) > 0
        j = j + 1
      Loop
      cl.Offset(, 2).Resize(, 3) = Split(cl & "|" & Left(cl, j - 1) & "|" & Mid(cl, j), "|")
    End If
  Next
End Sub
 

Bijlagen

Laatst bewerkt:
Code:
Sub splitten()
  On Error Resume Next
  For Each cl In ActiveSheet.Columns(26).SpecialCells(xlCellTypeConstants)
    If cl.Row > 3 [COLOR="Red"]And cl.Value <> 0 [/COLOR]Then
      j = 1
      Do Until Val(Mid(cl, j)) > 0
        j = j + 1
      Loop
      cl.Offset(, 2).Resize(, 3) = Split(cl & "|" & Left(cl, j - 1) & "|" & Mid(cl, j), "|")
    End If
  Next
End Sub

Mvg

Rudi
 
Beste,
bedankt voor de duw in mijn rug, ik heb namelijk nog een kleine aanpassing moeten doen.
Ivm dat na rij 1000 alles leeg is, bleef hij maar zoeken om te splitsen en liep vast .
Nu met de kleine aanpassing doet hij het perfect.
Volgens mij kan je er ook in zetten dat je kan zoeken naar de laatste regel maar zo`n code heb ik nog niet kunnen bedenken

Code:
 Sub splitten()
  On Error Resume Next
  For Each cl In Range("Z2:Z1000").SpecialCells(xlCellTypeConstants)
    If cl.Row > 3 And cl.Value <> 0 Then
      j = 1
      Do Until Val(Mid(cl, j)) > 0 Or Mid(cl, j) = "0"
        j = j + 1
      Loop
      cl.Offset(, 2).Resize(, 3) = Split(cl & "|" & Left(cl, j - 1) & "|" & Mid(cl, j), "|")
    End If
  Next
End Sub
 
Ben je wel echt zeker dat alles leeg is na regel 1000, want in jouw voorbeeld is ook alles leeg na regel 21 en hij stopte toch mooi na het laatste BTW-nummer. Heb je al alle rijen na rij 1000 verwijdert (niet deleten maar echt verwijderen) want eventuele opmaak in een cel is al genoeg om te blijven doorgaan natuurlijk

Mvg

Rudi
 
Rudi,

Ben inderdaad bang dat het daar mee te maken heeft.
Als ik dan handmatig de rijen er onder verwijderdt gaat het goed.
De bestanden worden samengesteld vanuit verschillende excelsheets, ze komen allemaal vanuit een tekst bestand maar ik zal ongetwijfeld ergens een opmaak hebben gebruikt waar hij nu over valt ( Helaas ).
Het is voor mij nu niet mogelijk uit te zoeken waar die fout zit.
Mijn conversie loopt nu met deze code door ( gelukkig ) zodat ik weer verder kan met deze conversie.
Ik gaf de opmerking omdat ik weet dat zoiets bestaat maar ben nu weer een stuk verder met jou opmerking dat ik nu weet waar het aan ligt en dat ik daar in de toelomst rekening meet moet houden.

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