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

kladblok document openen in excel

Status
Niet open voor verdere reacties.

Williams12

Gebruiker
Lid geworden
2 aug 2009
Berichten
31
in een kladblok bestand heb ik het volgende staan,

98013309502B01
20101173309502B01 00001000DE
20101173309502B01 00002000DE
20101173309502B01 00003000DE
20101173309502B01 00004000DE

Dit bestand wordt gegenereerd uit een pakket. Nu moet de ontvanger van dit bestand twee "00" tussen 1 en de 3 eerste regel en twee "00" tussen de 7 en 3 hebben staan. Anders wordt hij verkeerd ingelezen.

dus 9801003309502B01 in plaats van 98013309502B01

dus 2010117003309502B01 in plaats van 20101173309502B01

Dit is op zich geen probleem alleen loop ik tegen het probleem aan met de eerste regel. Als ik deze eerst weg haal dan lukt het me wel om in de rest twee 00 er tussen te krijgen door via openen - vaste breedte - importeren starten bij rij 2. dan de pijl goed zetten precies tussen de 7 en de 3 en dan op volooien. Dan kan ik invoegen kollom doen en hier 00 op doorvoeren naar beneden selecteren. Nu moet ik weer tekst.samenvoegen doen in een andere kolom en dan heb ik uit eindelijk de nullen er tussen staan.

Nu is mijn vraag of dit ook makelijker kan of automatisch via een macro. Ben al wel even bezig geweest maar er gebeurd van alles maar die 00 komen er niet tussen. Ik hoop dat er iemand is die mij een beetje op weg kan helpen. Aangezien het kladblok bestand meer dan 5000 regels bestaat. mede door dat dit eigenlijk elke maand terug komt. en ik niet altijd er ben moet iemand anders dit ook kunnen doen.
 
Code:
Sub test()
Dim LastRowInA As Long
Dim r As Long
Dim x As Variant
Dim y As Variant
Dim MyRange As Range
LastRowInA = Range("a65536").End(xlUp).Row

        For r = 1 To LastrowinA '
        Set MyRange = Cells(r, 1)
        x = Mid(MyRange, 4, 2)
        y = Mid(MyRange, 7, 2)

          If x = 13 Then
          Cells(r, 1) = Left(MyRange, 4) & "00" & Mid(MyRange, 5, 50)
              End If
        If y = 73 Then
          Cells(r, 1) = Left(MyRange, 7) & "00" & Mid(MyRange, 8, 50)
              End If
       Next
   

End Sub

gr wim
 
Laatst bewerkt:
bedankt voor de snelle reactie. Code werkt perfect:thumb:. Alleen zou ik nog willen weten of deze code ook de 00 tussen de 7 en 3 zet? die vanaf rij2 begint en naar beneden gaat aangezien ik bij de test alleen zie dat hij de 00 in de eerste regel toevoegd. Maar kan ook zijn dat ik iets verkeerd doe. Wel moet ik er bij vermelden dat ik met office 2010 werk maar dat moet volgens mij geen verschil maken.
 
In de code staan beide regels. Heb je deze ook met je eigen gegevens geprobeerd?

gr wim
 
:o

Ehhh je hebt het mij nog makelijker gemaakt dan het was. Ik had namelijk mijn kladblok nog gedeeld ingevoegd met het pijltje.
Nu ik alles zonder iets te veranderen invoeg in excel gaat het gewoon goed:thumb:

Supper bedankt.
 
Markeer je de vraag dan nog even als opgelost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan