Avatar billede igoogle Forsker
28. december 2011 - 17:59 Der er 10 kommentarer og
1 løsning

Indlæse alle csv filer i mappe og bearbejd

Hej...


Jeg står og har brug for en lille hånd med at læse nogen csv filer ind og så bearbejde dem.

Filerne har vilkårlige navne men er alle med ; som separator.

nogen der har noget liggende med et loop der kører igennem en folder  , åbner csv filen, kører en kode stump, lukker csv filen igen, tager næste fil.

på forhånd tak
-igoogle
Avatar billede supertekst Ekspert
28. december 2011 - 18:13 #1
Lidt at begynde med: http://www.eksperten.dk/spm/810256
Avatar billede igoogle Forsker
28. december 2011 - 18:34 #2
Så langt er vi enige :) ..

har været ud i sådan en klippe klister udgave som ligner denne

Sub RunCodeOnAllXLSFiles()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook


Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False

On Error Resume Next
    Set wbCodeBook = ThisWorkbook
        With Application.FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\data\"
                 
                       
            .FileType = msoFileTypeAllFiles
            'Optional filter with wildcard
            '.Filename = "*.csv"
                If .Execute > 0 Then 'Workbooks in folder
                    For lCount = 1 To .FoundFiles.Count 'Loop through all
                        'Open Workbook x and Set a Workbook variable to it
                        Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
                       
                        'DO YOUR CODE HERE
                        MsgBox (lCount)

                        wbResults.Close SaveChanges:=False
                    Next lCount
                End If
        End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
Avatar billede igoogle Forsker
28. december 2011 - 18:35 #3
msgbox var bare en tjekker.. men fik det ikke til at virke
Avatar billede supertekst Ekspert
28. december 2011 - 21:06 #4
Vender tilbage..
Avatar billede igoogle Forsker
28. december 2011 - 22:05 #5
ser frem til det med glæde :)
Avatar billede supertekst Ekspert
29. december 2011 - 00:10 #6
Lidt kortere udgave:

Const sti = "C:\Users\peter\Desktop\Ny mappe\"  '<----- korriger
Const filType = ".xlsx"                        '<----- korriger
Sub traverserMappe()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(sti)
    Set fc = f.Files
    For Each f1 In fc
        filnavn = LCase(f1.Name)
        If Right(filnavn, Len(filType)) = filType Then
            MsgBox (filnavn)
           
            Workbooks.Open Filename:=filnavn
            With ActiveWorkbook
                .Sheets(1).Range("B1") = Now        'timestamp sættes (eksempel)
                .Save
                .Close
            End With
        End If
    Next

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub
Avatar billede igoogle Forsker
02. januar 2012 - 21:23 #7
Så langt så godt.. næste problem er hvordan fortæller man den automatiske åbner at det er en csv fil og den derfor skal tænke sig om og lave den pæn når den åbner og ikke bare data;;;;;;2;;;;data;;;

nogen forslag til det ?
Avatar billede oyejo Nybegynder
02. januar 2012 - 22:02 #8
Hei igoogle

Du har fått et elegant forslag fra Supertekst.

Men hvis du skal løse det siste problemet, må filtypen endres fra csv til txt.


Be han legge inn en kode som først endrer alle filnavn.csv til filnavn.txt.
Avatar billede igoogle Forsker
03. januar 2012 - 08:37 #9
ok .. tak for input..

supertekst smider du et svar ?
Avatar billede supertekst Ekspert
03. januar 2012 - 08:52 #10
ja - det får du her
Avatar billede oyejo Nybegynder
03. januar 2012 - 23:18 #11
Igoole

Jeg har en kode som er veldig lik den supertekst har kommet med.

I tillegg endrer den filene fra csv til txt, slik at importen blir lettere å jobbe med.

Hvis du ønsker det kan jeg lete den frem og legge den her som en kommentar.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester