VBA code om kolommen uit een CSV bestand te verwijderen.

Status
Niet open voor verdere reacties.

frankie59

Gebruiker
Lid geworden
25 sep 2008
Berichten
154
Goedenavond,

Ik moet een CSV bestand importeren in een tabel.
Ik wil dit doen met een VBA code:
Dit gaat met een klein bestand goed, dus de procedure klopt.

Alle heeft het csv bestand waar het over gaat ontzettend veel kolommen.
De fout melding is dat er maar 255 kolommen verwerkt kunnen worden en dat ik het originele bestand moet aanpassen.

Daar heb ik natuurlijk niet zoveel zin in.

Ik heb maar 20 kolommen nodig van dit bestand.
Ik zoek dus een code die de eerste 20 kolommen importeert en de rest niet.

Het is geen optie om eerst een koppeling te maken en daarna met een query de juiste tabellen eruit gaan halen, omdat het een bestand is met 50 000 artikelen.
Het gaat dan erg lang duren om dit steeds in te laden.

Is er een andere oplossing hiervoor?

Ik hoor het graag.

MVG Frank.
 
Via de import wizzard kan je een import specificatie aanmaken waarin je alleen de eerste 20 kolommen kiest om te importeren. Je kan deze specificatie vervolgens in VBA gebruiken.
 
Zoiets:
Code:
Option Explicit

Sub ImportTekstfile()
    Dim CSVbestand As String
    Dim strLine As String
    Dim row As Long
    
    CSVbestand = Application.GetOpenFilename("CSV bestanden (*.csv), *.csv")
    Open CSVbestand For Input As #1
    row = 1
    Do Until EOF(1)
        Line Input #1, strLine
        Cells(row, 1).Resize(, 20) = Split(strLine, ";", 21)
        row = row + 1
    Loop
    Close #1
End Sub

Oeps, Access forum, niet goed gekeken, dacht dat het Excel was.

Maar ach, nu deze macro hier toch staat, voer hem uit en importeer daarna de data uit Excel in Access?
 
Laatst bewerkt:
Maar ach, nu deze macro hier toch staat, voer hem uit en importeer daarna de data uit Excel in Access?
Waarom zou je? Access heeft, zoals noella al schreef, een prima methodiek om csv bestanden in te lezen. Dan ga je echt niet klooien met een Excel tussenoplossing :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan