Avatar billede mlhave Nybegynder
08. maj 2004 - 17:01 Der er 6 kommentarer og
1 løsning

Samle udvalgte data fra flere ark i ét

Jeg har en excel fil pr. projekt og de er alle ens med undtagelse af diverse beløb. Jeg vil gene samle udvalgte data sammen i en anden excelfil, for at skabe et løbende økonomisk overblik.
Det skal helst være nemt at få et nyt projekt tilføjet i opsamlingsfilen så almindelige brugere selv kan gøre det.

Hvordan gør jeg det nemmest?

Alle filer kan placeres i samme mappe hvis det er nødvendigt.
Avatar billede martin_moth Mester
08. maj 2004 - 18:58 #1
Med VBA.

Har du erfaring med VBA?
Avatar billede mlhave Nybegynder
08. maj 2004 - 21:12 #2
Jeps, jeg kan bare ikke lige gennemskue den her...
Avatar billede kabbak Professor
09. maj 2004 - 01:13 #3
her er en demo, håber du kan tilpasse den.

Sub HentArk()
Dim AD As Variant, A As Integer, FRes(8) As Variant, FS As Range
Dim strFilNavn(), Nr As Integer
Application.CutCopyMode = False
Application.ScreenUpdating = False
mypath = "C:\MitExcelBibliotek\" ' ret til din sti
If Right(mypath, 1) <> "\" Then mypath = mypath & "\"
Nr = 1
ReDim Preserve strFilNavn(Nr)
strFilNavn(Nr) = Dir(mypath & "*.xls")  ' Hent den første filnavn i biblioteket.
Do While strFilNavn(Nr) <> ""  ' Start løkken
  If strFilNavn(Nr) <> "." And strFilNavn(Nr) <> ".." Then
  Nr = Nr + 1
  ReDim Preserve strFilNavn(Nr)
End If
strFilNavn(Nr) = Dir    ' Hent næste filnavn.
Loop
'************** alle filer er læst ind i variablen strFilNavn(Nr) **********

For I = 1 To Nr - 1
  AD = ThisWorkbook.Sheets("Ark2").Range("A65536").End(xlUp).Row + 1
  ' ovenstående er siden og rækken der skal indsættes på
  FilogSti = mypath & strFilNavn(I)
 
    AF = ThisWorkbook.Sheets("Ark1").Range("A65536").End(xlUp).Row + 1
    For U = 2 To AF - 1 ' tjekker om de er inlæst før
    If strFilNavn(I) = ThisWorkbook.Sheets("Ark1").Range("A" & U) Then
    MsgBox ActiveWorkbook.Name & " er indlæst 1 gang"
    GoTo Videre
  End If
  Next
 
      ' Åbner filen
    Workbooks.OpenText Filename:=FilogSti
    ThisWorkbook.Sheets("Ark1").Cells(AF, 1) = strFilNavn(I)
      ' sætter filnavnet ind på ark1 i ThisWorkbook

    Sheets("Ark1").Select ' det ark der skal hentes data fra på det åbnede ark
    Range("A1:I32").Copy ' det områder der skal hentes data fra
   
    ThisWorkbook.Activate
    Sheets("Ark2").Activate
    Range("A" & AD).Select ' Arket og cellen det sættes ind på
    ActiveSheet.Paste
   
    'lukker filen
  Windows(strFilNavn(I)).Activate
  Application.DisplayAlerts = False
  ActiveWorkbook.Saved = True
  ActiveWindow.Close
  Application.DisplayAlerts = True
Application.CutCopyMode = False
Videre:
Next
Application.ScreenUpdating = True
End Sub
Avatar billede mlhave Nybegynder
09. maj 2004 - 11:28 #4
Den kigger jeg lige på ;o)
Avatar billede kabbak Professor
15. juni 2004 - 22:53 #5
hvordan går det med kikket ?
Avatar billede mlhave Nybegynder
21. juni 2004 - 11:27 #6
Fint - kan du klare et svar ;o)
Avatar billede kabbak Professor
21. juni 2004 - 12:09 #7
et svar ;-))
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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