Avatar billede larskoch Nybegynder
25. november 2013 - 09:23 Der er 5 kommentarer og
1 løsning

Samle data fra flere ark/filer i et samlet ark

Har prøvet via konsolidering - men virker ikke efter hensigten... kan der laves noget smart i vba og hvordan ??

Har 3 excel filer liggende i samme sti C:\test...

Ark1.xlsm med et navngivet område TEST1
Ark2.xlsm med et navngivet område TEST2
Ark3.xlsm med et navngivet område TEST3

Disse 3 filer/navngivne områder skal samles i en fil/ark "ARK_SAMLER" således, at data sættes i forlængelse af hinanden..
Avatar billede supertekst Ekspert
25. november 2013 - 09:38 #1
http://www.eksperten.dk/spm/823042 & 913769 til inspiration
Avatar billede larskoch Nybegynder
25. november 2013 - 09:56 #2
Legede lige lidt selv med det - kan man ikke forfine nedenstående lidt så den ikke er afhængig af hvor filerne ligger så længe det er i samme mappe ?

For denne virker efter hensigten :-)

Dim myWorkbook As Workbook
   
    Set myWorkbook = Application.Workbooks.Open(Filename:="C:\Test\Test1.xlsm")
    myWorkbook.Sheets("qry_AlleFelterExcelEksport").Activate
    Cells(1, 1).Activate
    ActiveCell.CurrentRegion.Copy
    ThisWorkbook.Sheets("DataI").Activate
    Cells(4, 1).Activate
    ActiveCell.PasteSpecial
    Range("A1").Copy
    myWorkbook.Close
    Range("A4").Select
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    With Selection
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("A1").Select
   
End Sub
Avatar billede claes57 Ekspert
25. november 2013 - 11:13 #3
hvis du før linjen
Set myWorkbook = Application.Workbooks.Open(Filename:="C:\Test\Test1.xlsm")
lægger noget kode, der henter aktuelle workbook-sti, så kan du have den i en variabel og sætte den ind i linjen, hvor du åbner.

sti = ThisWorkbook.FullName
filstart = InStrRev(sti, "\", , vbTextCompare)
sti = Left(sti, filstart)
Set myWorkbook = Application.Workbooks.Open(Filename:=sti & "Test1.xlsm")
Avatar billede larskoch Nybegynder
25. november 2013 - 11:31 #4
Er det muligt, at skrive stien i et felt i samlerarket så den ser der ned hvor de andre filer er placeret....og så hente de navngivne områder i arkene..........
Nu er jeg vel ikke for krævende :)
Avatar billede claes57 Ekspert
25. november 2013 - 11:43 #5
Så dropper du de første 3 linjer jeg kom med, og bruger
Sti = range("A1").Text
Eller hvor du nu har stinavn (inkl den sidste \)
Resten kan jeg ikke klare i dag - pc er lige sat i gang med stor opgave, så jeg er på iPad de næste timer.
Avatar billede larskoch Nybegynder
03. december 2014 - 13:31 #6
Lukke spørgsmålet
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