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

Inlezen tabgeschieden txt met VBA

Status
Niet open voor verdere reacties.

jheesterbeek

Gebruiker
Lid geworden
26 jan 2005
Berichten
474
Hoi Formummers,

Ik heb een tabgescheiden txt met enorm veel regels. Ik wil graag een selectie hiervan overnemen in een excel file. De selectie is wisselend.
Ik plaatst de selectie in variabelen, open de file, plaats de eerste regel in variabelen, vergelijk deze, indien de regel voldoet wordt deze in excel geschreven.
Bovenstaande heb ik eerder gedaan met een csv en dat verliep goed, met onderstaande code komen helaas niet de correcte info in de goede variabelen bij het inlzen. Kan iemand mij helpen?

Code:
Sub Inladen()
Dim Rij, Temp
Dim InputBeginDatum(25) As Date
Dim BeginDatum As Date
Dim InputPrijsgroep(25) As String
Dim Prijsgroep As String
Dim ArtNr As String
Dim ArtOmschr, Eenheidsprijs, Eenheid
Worksheets("Input").Select
Rij = 2
Do While Cells(Rij, 1).Value <> ""
InputBeginDatum(Rij - 2) = Cells(Rij, 1).Value
Rij = Rij + 1
Loop
Rij = 2
Do While Cells(Rij, 2).Value <> ""
InputPrijsgroep(Rij - 2) = Cells(Rij, 2).Value
Rij = Rij + 1
Loop

'Lees de waarden.
Worksheets("Output").Select
Rij = 2
Open "C:\Test\Voorbeeldfile.txt" For Input As #1
Do Until EOF(1)
Input #1, BeginDatum, Prijsgroep, ArtNr, ArtOmschr, Eenheidsprijs, Eenheid
Temp = 0
Application.StatusBar = "OutputRij: " & Rij & " , Begindatum: " & BeginDatum
DoEvents
Do Until InputBeginDatum(Temp) = Empty
'Debug.Print BronArtikelen(Temp) & " - "; ArtNr
If BeginDatum = InputBeginDatum(Temp) Then
Temp = 0
Do Until InputPrijsgroep(Temp) = "empty"
If InputPrijsgroep(Temp) = Prijsgroep Then
Cells(Rij, 1).Select
Cells(Rij, 1).Value = BeginDatum
Cells(Rij, 2).Value = Prijsgroep
Cells(Rij, 3).Value = ArtNr
Cells(Rij, 4).Value = ArtOmschr
Cells(Rij, 5).Value = Eenheidsprijs
Cells(Rij, 6).Value = Eenheid
Rij = Rij + 1
End If
Temp = Temp + 1
Loop
End If
Temp = Temp + 1
Loop
Loop
Close #1
Application.StatusBar = False
End Sub



Een stukje uit de textfile die ingelezen moet worden:
Begindatum Prijsgroep Artikelnr. Artikelomschrijving Eenheidsprijs Verkoopprij s per
30-11-05 123456 123456 Voorbeeldomschrijving 9,99 Kg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan