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

Importeren CSV file

Status
Niet open voor verdere reacties.

CruzNP

Nieuwe gebruiker
Lid geworden
9 dec 2014
Berichten
1
Beste,

Op mijn werk maken we Autocad tekeningen van systeemkasten.
Hiervan exporteren we de block gegevens naar een csv bestand.

Ik probeer met de volgende code een CSV file deze gegevens te importeren in een excel bestand.

De eerste keer gaat goed echter bestaat een systeem uit meerdere kasten.
Bij de tweede keer schuift hij de cellen op en op een of andere manier wordt er een link gemaakt die ik ook niet wil.\

Kan iemand deze code aanpassen dat ik steeds op de actieve cell een CSV bestand importeer?

Alvast bedankt,

Code:
Private Sub CommandButton8_Click()
Dim ws As Worksheet
Dim i As String
Dim fStr As String
ActiveCell.Select


With Application.FileDialog(msoFileDialogFilePicker)
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Cancel Selected"
Exit Sub
End If
'fStr is the file path and name of the file you selected.
fStr = .SelectedItems(1)

End With
With ThisWorkbook.Sheets("PART LIST").QueryTables.Add(Connection:= _
"TEXT;" & fStr, Destination:=ThisWorkbook.Sheets("PART LIST").Range("$A$7"))
.Name = "CAPTURE"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False

Do
i = ActiveCell.Offset(0, 2)
If Not i = "" Then

On Error Resume Next
With Worksheets("Gegevens").Range("B:B")
i = ActiveCell.Offset(0, 2)
Set p = .Find(i, LookIn:=xlValues, lookat:=xlWhole)
If Not p Is Nothing Then

ActiveCell.Offset(0, 1) = Worksheets("gegevens").Range("A" & p.Row).Value
ActiveCell.Offset(0, 3) = Worksheets("gegevens").Range("C" & p.Row).Value

Else

End If
End With
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 2))
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan