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