22. september 2017 - 08:07Der er
5 kommentarer og 2 løsninger
Import af .csv filer
Hej Hvis jeg eks.vis har 3 .csv filer med hver deres navn i den samme mappe hvordan kan man så via VBA importere disse så de kommer til at blive samlet i en excel fil ?
Jeg en mappe (sti kan variere efter hvornår og hvem der laver det) med navn "Udtraek" der i ligger 3 .csv filer med hver deres navn (navnet kan variere efter hvornår og hvem der laver det) der er samme struktur på data i .csv filerne men blot forskelluge navne på arket. Så hvordan laver jeg et "Samlerark" hvor .csv filer i en aktuel mappe bliver importeret/samlet i et excel ark...
Hej Mange tak for det sendte link - jeg prøvede lige med denne: ImportCSVsWithReference og det ser ud til at virke men hvor sætter jeg, at den skal importere som semikolonsep fil så den selv splitter data op i kolonnerne. LKS
Sub ImportCSVsWithReference() 'UpdatebyKutoolsforExcel20151214 Dim xSht As Worksheet Dim xWb As Workbook Dim xStrPath As String Dim xFileDialog As FileDialog Dim xFile As String On Error GoTo ErrHandler Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker) xFileDialog.AllowMultiSelect = False xFileDialog.Title = "Select a folder [Kutools for Excel]" If xFileDialog.Show = -1 Then xStrPath = xFileDialog.SelectedItems(1) End If If xStrPath = "" Then Exit Sub Set xSht = ThisWorkbook.ActiveSheet If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear Application.ScreenUpdating = False xFile = Dir(xStrPath & "\" & "*.csv") Do While xFile <> "" Set xWb = Workbooks.Open(xStrPath & "\" & xFile) Columns(1).Insert xlShiftToRight Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1) xWb.Close False xFile = Dir Loop Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox "no files csv", , "Kutools for Excel" End Sub
#4 - Det jeg fik svaret på i #3, var i forhold til en TXT fil (som jo skal separeres). Men med dine CSV filer, så burde de jo være korrekt separerede, inden du hiver dem ind, og lande korrekt i kolonner. I det Linkede eksempel, kan du så vælge placeringsmæssigt (retning), i de 2 versioner til CSV fler fil's import
Hej Ebea Det er det jeg ikke lige kan gennemskue i ovennævnte VBA-kode - når den køres og jeg peger på mappen med filerne så bliver data lagt i 3 kolonner selv om csv filen er opdelt i 8. Når jeg gør det manuelt så bliver det opdelt korrekt.... så hvor i koden kan jeg justere - gerne løsning
Man kan lave et vbs script, der finder de tre filer i mappe, samler dem til én, og navngiver den med et fast navn og placering. De tre originaler kan evt slettes herefter i samme script. I Excel er der så kun en fast fil, der skal hentes.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.