Avatar billede Slettet bruger
20. januar 2015 - 21:46 Der er 10 kommentarer

Kopiere celler til nyt excelark via macro

Hej,

Jeg har brug for at programmere en macro,som kopierer udvalgte celler fra et andet excelark til hovedarket, via data input i en celle i hovedarket.

Arket som jeg tager udgangspunkt i er en dokumentoversigt, og når jeg indtaster afdelingsnr. i cellen, så henter den data fra det regneark som er tilknytet den pågældende afdeling.

Der er 115 afdelinger, så 115 forskellge regneark at hente data fra.

Håber det gir mening?


H J Æ L P :)
Avatar billede supertekst Ekspert
20. januar 2015 - 23:14 #1
Er det ark i samme file eller separate filer?
Avatar billede Slettet bruger
21. januar 2015 - 08:57 #2
Det er i separate filer
Avatar billede KurtOA Praktikant
21. januar 2015 - 09:16 #3
Har du navnene på alle underfilerne i dit hovedark?
Avatar billede Slettet bruger
21. januar 2015 - 12:32 #4
Filerne hedder:
Afd 1 - Årsregnskab 2014.xlsm
Afd 2 - Årsregnskab 2014.xlsm
Afd 3 - Årsregnskab 2014.xlsm
Osv. indtil man når 115 :)
Avatar billede KurtOA Praktikant
21. januar 2015 - 13:47 #5
Hvis det må løses ved hjælp af VBA kan en kode i stil med
nedenstående løse din opgave....

Den anbringes i et kodemodul i din fil hvor til data skal indlæses.
Den gennemløber alle dine filer med afdelingsregnskaber, åbner dem og indlæser værdier herfra - og lukker dem igen UDEN ændringer.

Her i eksemplet indlæses cellerne A1 og B1 fra det ark der er åbent når filen åbnes.
Det kan naturligvis ændres således at den finder det rette ark og andre celler...

Denne kode indlæser fra folderen: "D:\Test\"



Sub indlæsRegnskaber()
Dim oFS As New FileSystemObject
Dim sDir, oDir, oFile, oSub
Dim e, Fcount As Integer
Dim fName As String
sDir = "D:\test\"

Dim curWb, tmpWb As Workbook
Dim collectWs As Worksheet

Set curWb = ActiveWorkbook
Set collectWs = ActiveSheet

Set oDir = oFS.GetFolder(sDir)

Worksheets("Ark1").Activate
Range("A2").Select

For Each oFile In oDir.Files
fName = oFile.Name
         
For e = 1 To 115
  If fName = "Afd " & e & " - Årsregnskab 2014.xlsm" Then
  Fcount = Fcount + 1
 
  Set tmpWb = Application.Workbooks.Open(oFile)
      collectWs.Cells(Fcount, 1) = fName
      collectWs.Cells(Fcount, 2) = Range("A1")
      collectWs.Cells(Fcount, 3) = Range("B1")
  tmpWb.Close SaveChanges:=False
  End If
Next e
       
Next oFile
  MsgBox "OK - der blev fundet " & Fcount & " filer..."
End Sub
Avatar billede Slettet bruger
22. januar 2015 - 09:23 #6
Mappe stigen er forskellig for hver afdeling, er dette et problem?

='H:\afd-01\01 Regnskab\01 Årsregnskab og budget\2014\01 Regnskab\[Afd 1 - Årsregnskab 2014.xlsx]

='H:\afd-02\01 Regnskab\01 Årsregnskab og budget\2014\01 Regnskab\[Afd 2 - Årsregnskab 2014.xlsx

Ovs.

Er det os muligt at få den til at kunne hente data ud fra hvad er er tastet i 2 celler, afdelingsnr og årstal ?
Avatar billede KurtOA Praktikant
22. januar 2015 - 09:43 #7
Dine filer ligger altså alle sammen på h-drevet, i mapper der hedder
"AFD-01, AFD-02 osv, og derefter igen i en undermappe to trin nede?
Jeg vil gerne prøve at kigge på det, men så skal koden laves noget mere omfattende da den jo skal løbe alle dine undermapper igennem.
Og ja -alt der er tastet i en celle i et ark i filen kan udhentes ;-)
Jeg kan vende tilbage med et forslag senere på dagen eller i aften hvis du er interesseret ;-)
mvh
Avatar billede Slettet bruger
22. januar 2015 - 13:16 #8
Alle mapperne er på h-drevet og alle mapper starter med ADF-01, 02, 03 ovs.

Det eneste som ændre sig i stigen for en afdeling, det er årstallet ( se den understreget )

='H:\afd-01\01 Regnskab\01 Årsregnskab og budget\2014\01 Regnskab\[Afd 1 - Årsregnskab 2014.xlsx]

For at få Årsregnskab 2014 - skal der stå 2014 i stigen
For at få Årsregnskab 2013 - skal der stå 2013 i stigen

Jeg er meget interesseret i din hjælp og er virkelig glad for det du har lavet indtil videre :)
Avatar billede KurtOA Praktikant
22. januar 2015 - 13:47 #9
Jeg vil gerne forsøge ;-)
Har du evt mulighed for at sende mig en mail med eksempel på en af de filer der skal indlæses data fra?
Det behøver ikke være med alle data eller de rigtige data - men så jeg kan se strukturen.
Har alle filer for øvrigt samme struktur?
Hedder arkene det samme osv....?


mvh Kurt

skriv til kurtSnabelaVinduPunktumDk
Avatar billede Slettet bruger
22. januar 2015 - 18:14 #10
Har sendt data til dig :)

Strukturen er ens på alle ark. Alle fanerne hedder der samme, det eneste som ændre sig, det er navnet på filen og dens placering, alt efter hvilken afdeling det er.
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