Avatar billede permandens Novice
11. december 2020 - 12:57 Der er 9 kommentarer og
1 løsning

hjælp til kode

Hej

Da jeg ikke er haj udi excel vil jeg høre om nogen herinde kan hjælpe.
Jeg har 4 forskellige ark som 4 forskellige personer indtaster forskellige oplysninger ind i.
Det indtastede fra disse 4 ark skal når der i de respektive ark trykkes på billede med tilknyttet makro overføres til et 5'te ark hvor det lægger sig ind i nye rækker der hver især indeholder det der er tastet ind fra de respektive ark.
Altså i 5'te ark kommer der data ind i ny række hver gang der udføres makro i de 4 andre ark.
Giver det mening?

MVH :)
Avatar billede kim1a Ekspert
11. december 2020 - 14:09 #1
Det giver fin mening.
Hvilket område i hvert ark skal kopieres - altså sikkert forskellige antal rækker, men hvad med kolonner?
Vil du have en overskrift derpå (altså skal data på dit konsolideringsark starte i række2)?
Er det nemt at se hvor data kommer fra - altså har du en kolonne med f.eks. navn på personen der har opdateret i hver fane, eller ønsker du dette påsat efterfølgende?
Avatar billede permandens Novice
11. december 2020 - 14:52 #2
fx skal der kopieres fra b2:m5 i hvert ark
ingen overskrift den kan selv jeg finde ud af at lave ;) så data starter i række 2.
Data fra de forskellige ark der bla indeholder dato klokkeslet navn på den der indtaster kundenavn med mere  skal så i konsoliderings arket sorteres på dato/klokkeslet.
Avatar billede kim1a Ekspert
12. december 2020 - 13:01 #3
Den her bør løse din udfordring:

Sub konsolider()

Dim ws As Worksheet
Dim strKonsolArk As String
Dim intRowNumber As Integer

strKonsolArk = "Sheet1"
intRowNumber = 2

For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> strKonsolArk Then 'Så du ungår at den også kører på din konsolideringsfane
ws.Range("B2:M5").Copy Worksheets(strKonsolArk).Range("B" & intRowNumber)
'ActiveWorkbook.Sheets(strKonsolArk).Select
'Worksheets(strKonsolArk).ActiveCell.PasteSpecial Paste:=xlPasteValues
intRowNumber = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
Next

End Sub
Avatar billede permandens Novice
12. december 2020 - 18:53 #4
Det ser fint ud, men da jeg jo ikke er expert kræver din kode så at mine ark skal hedde noget specielt?
Avatar billede kim1a Ekspert
13. december 2020 - 09:45 #5
Nej, du skal blot sikre dig at navnet på konsolideringsarket står i stedet for sheet1.

Og være opmærksom på at den tager alle ark med i dokumentet.
Avatar billede permandens Novice
13. december 2020 - 18:39 #6
Tak Kim. Det virker perfekt :)
Avatar billede permandens Novice
13. december 2020 - 18:57 #7
Jeg fik en tanke.
Vil det være helt umuligt hvis data skal kopieres fra 4 forskellige excel programmer, hvor ark fx hedder "data" i de 4 programmer - og så kopiere det over i et 5 program i arket "konsolider"?
Avatar billede kim1a Ekspert
13. december 2020 - 23:57 #8
Jeg tror ikke jeg forstår. Hvad de andre ark hedder er uden betydning, den tager dem med uanset.
Avatar billede permandens Novice
14. december 2020 - 02:49 #9
Det jeg mener er 4 forskellige excel programmer der hver især sender data over i et femte excel program når macroen udføres.

Den macro du lavede arbejder jo inden for samme excelprogram og ikke i forskellige programmer
Avatar billede kim1a Ekspert
14. december 2020 - 09:34 #10
Jeg tror jeg forstår. Det er ikke så lige til. Det du kalder forskellige Excel programmer er forskellige dokumenter (workbooks) så makroen skal rettes til så den ved hvor de forskellige dokumenter ligger, og så skal den løbe det igennem.

Jeg tror du skal oprette et nyt spørgsmål og henvise til dette, det er nok ikke noget jeg har luft til at hjælpe med.
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