Avatar billede ransborg Juniormester
08. juli 2010 - 10:19 Der er 7 kommentarer og
1 løsning

Samle data fra alle åbne excel filer i én liste

Hej,

Jeg har et bibliotek, hvor jeg har ca. 250 regneark til til at ligge i.

Jeg vil nu gerne have samlet rækkerne 1:100 fra alle 250 regneark i en excel opsamlingsfil.

Hvordan løser jeg dette?

Mvh
Ransborg
Avatar billede excelh Nybegynder
08. juli 2010 - 11:17 #1
Hvad med Konsolidering via Pivot ?
Avatar billede supertekst Ekspert
08. juli 2010 - 11:22 #2
eller via en makro...

Skal de 100 rækker blot placeres efter hinanden og hvor mange kolonner er der tale om?
Avatar billede ransborg Juniormester
08. juli 2010 - 11:28 #3
Jeg vil helst have det via en VBA makro, og jeg vil gerne have dem placeret efter hinanden, sådan:

Fil 1: række 1:100
Fil 2: række 101:200
etc.

Det er kolonnerne A:J fra hver fil

Ark navnet er ikke nødvendigvis det samme - men der er kun data i et ark i hver fil

Tak fordi I er så hurtige

Mvh
Ransborg
Avatar billede supertekst Ekspert
08. juli 2010 - 11:40 #4
Ok - vil prøve at konstruere lidt kode til formålet.

PS: du har er række point ude!
Avatar billede ransborg Juniormester
08. juli 2010 - 11:47 #5
Dem skal jeg lige få lukket af :-)
Avatar billede ransborg Juniormester
08. juli 2010 - 12:01 #6
så er der bedt om svar på mine tidligere spørgsmålsoprettelser, hvor der var brugbare svar :-)

Ps. husk at give et svar

Mvh
Ransborg :-)
Avatar billede supertekst Ekspert
08. juli 2010 - 15:36 #7
Kode i samlerfilen ark1:
Model med testfiler kan tilsendes - hvis der sendesen mail - @-adresse under profil.


Const hentFraSti = "C:\Documents and Settings\pb.KHNBPB\Skrivebord\Ransborg\"  'JUSTERES
Const hentFraMappeNavn = "mappeMed100"                                          'JUSTERES
Dim xlsFil As Object

Dim ræk As Long
Public Sub samlingAfRegneark()
    Application.ScreenUpdating = False
    ræk = 1
    traverserMappen hentFraSti & hentFraMappeNavn
   
    Application.ScreenUpdating = True
   
    ActiveSheet.Columns.AutoFit
   
    MsgBox ("Samlingen er udført")
End Sub
Private Sub traverserMappen(mappeNavn)
Dim fs, f, f1, fc

On Error GoTo fejl

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(mappeNavn)
    Set fc = f.Files
   
    For Each f1 In fc
        filnavn = f1.Name
        Set xlsFil = CreateObject("Excel.Application")
        With xlsFil
            .Workbooks.Open mappeNavn + "\" + filnavn
            .Sheets(1).Range("A1:J100").Select
            .Selection.Copy
           
            kopierTilSamling
           
            .Application.CutCopyMode = False
            .Application.Quit
        Set xlsFil = Nothing
        End With
    Next
    Exit Sub
   
fejl:
'    Stop
'    Resume Next
       
    MsgBox ("Fejl opstået: " & Err.Number & " - " & Err.Description)

    With xlsFil
        .Application.CutCopyMode = False
        .Application.Quit
    End With
    Set xlsFil = Nothing
End Sub
Private Sub kopierTilSamling()
    With ActiveSheet
        .Range("A" & CStr(ræk)).Select
        .Paste
        ræk = ræk + 100
    End With
End Sub
Avatar billede ransborg Juniormester
09. juli 2010 - 00:11 #8
Meget flot løsning og løst utrolig hurtigt :-)
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

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