Macro import csv met naam in cel A1

Status
Niet open voor verdere reacties.

DjoeZty

Gebruiker
Lid geworden
24 mrt 2004
Berichten
73
Hallo,

Ik zoek een Excel macro die de naam van een csv-file leest vanuit cel A1, gaat zoeken in de directory c:\csvbestanden en de csv daarna importeert in werkblad 2.
Wie-o-wie kan mij helpen?

Bij voorbaat dank!

MVG,
DjoeZty aka Joost
 
Laatst bewerkt:
Neem eens een macro op en wied daarna de overbodige code.
 
Re:

Neem eens een macro op en wied daarna de overbodige code.

Voila, alléén moet ik de juiste csvfile handmatig aanwijzen, ipv dat hij deze zelf zoekt mbv de naam in cell A1.
En dit is juist de bedoeling...

Ik hoop dat mijn vraag nu duidelijker is.

MVG,
DjoeZty

Code:
Sub CVSImportviacellA1()
    Range("A1").Select
    Selection.Copy
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\CSVbestanden\04012010data.csv", Destination:=Range("A1"))
        .Name = "04012010data"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1)
        .TextFileDecimalSeparator = "."
        .TextFileThousandsSeparator = "'"
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
 
Tekst als dit:

Code:
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\CSVbestanden\04012010data.csv", Destination:=Range("A1"))

kan je makkelijk opknippen als:

Code:
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\CSVbestanden\" & Range("A1"), Destination:=Range("A1"))

waarbij cel A1 dan 04012010data.csv bevat.
 
Re:

Muchos gracias, werkt als een tierelier :thumb:

Grtz. DjoeZty
 
overwoog je ook ('iets' korter):

Code:
Workbooks.Open Range("A1"), , , 4
waaarbij de 4 staat voor de puntkomma als veldscheidingsteken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan