Avatar billede sleeper Nybegynder
03. december 2007 - 10:14 Der er 13 kommentarer og
1 løsning

Samle data fra flere ark til en forside

Hej

Jeg har en projektmappe med 40 ark

F.eks.
Ark1 - Totalskema
Ark2 - Optalt 2007-12-03
Ark3 - Optalt 2007-12-04
osv.

i hver ark, benytter jeg KUN colonne A + B + C, men et variabelt antal rækker.

Kan man på nogen måde, lave en makro eller andet,således at man til slut kan samle alle ark til en forside?
Avatar billede l_domino_l Nybegynder
03. december 2007 - 10:22 #1
Ja det kan man godt
Avatar billede l_domino_l Nybegynder
03. december 2007 - 10:25 #2
Hedder alle dine ark det samme og så bare et nummer?
Avatar billede sleeper Nybegynder
03. december 2007 - 10:34 #3
Hej

de vil hedde "Optalt + dato(format åååå-mm-dd)"
Avatar billede l_domino_l Nybegynder
03. december 2007 - 10:48 #4
Laver lige en til dig....
Avatar billede mowi Nybegynder
03. december 2007 - 16:58 #5
Prøv nedenstående. Hvis "Totalskema" er helt tomt, vil de første data blive sat ind i række 2, men jeg går ud fra, at du har en overskrift i "Totalskema". Hvis du har overskrift i "Optalt..." arkene, som ikke skal kopieres til "Totalskema", så skriv "A2" i stedet for "A1".

Sub CollectData()
    Dim wks As Worksheet, NextRow As Integer

    Application.ScreenUpdating = False
    For Each wks In Worksheets
        If Not wks.Name = "Totalskema" Then
            wks.Activate
            Range("A1").Select
            Range(Selection, Selection.End(xlDown).End(xlToRight)).Select
            Selection.Copy
            Worksheets("Totalskema").Activate
            NextRow = Range("A65536").End(xlUp).Row + 1
            Cells(NextRow, 1).Activate
            ActiveSheet.Paste
        End If
    Next wks

    Application.ScreenUpdating = True
End Sub
Avatar billede sleeper Nybegynder
03. december 2007 - 19:46 #6
Hej mowi

Der melder fejl på linien "ActiveSheet.paste"
Avatar billede sleeper Nybegynder
03. december 2007 - 20:00 #7
Hej mowi

Efter lidt redigering af din makro, har jeg fået det til at fungere
men jeg har stadig fejl i ovennævnte, hvad skyldes det?

Sub CollectData()
    Dim wks As Worksheet, NextRow As Integer

    Application.ScreenUpdating = False
    For Each wks In Worksheets
        If Not wks.Name = "Totalskema" Then
            wks.Activate
            Range("A2:D2").Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
            Worksheets("Totalskema").Activate
            NextRow = Range("A65536").End(xlUp).Row + 1
            Cells(NextRow, 1).Activate
---fejl---"ActiveSheet.Paste"---fejl---
        End If
    Next wks
   
    Application.ScreenUpdating = True
End Sub

Kender i nogle gode stedet man kan læse/lære om disse makroer??
Avatar billede mowi Nybegynder
03. december 2007 - 20:00 #8
Det forstår jeg ikke - hvorledes lyder fejlbeskeden?
Avatar billede mowi Nybegynder
03. december 2007 - 20:05 #9
Jeg har prøvet at køre den justerede version - det virker fint her. Hvorfor vælger du D2 - har du ikke kun data i kolonnerne A, B og C?
Avatar billede sleeper Nybegynder
03. december 2007 - 20:12 #10
Hej mowi
kontraordre fra chefen, derfor er den udvidet til A+B+C+D
Grunden til at jeg ændrede formlen til "A2:D2" var at der ikke altid er indhold i både B+C

Jeg får en "Runtime error 1004"
Jeg har mulighed for "End" eller "Debug"
Hvis jeg vælger "Debug" er ovennævnte linie gul
Avatar billede mowi Nybegynder
03. december 2007 - 20:20 #11
Prøv at indsætte følgende lige inden linien, der fejler: "MsgBox ActiveSheet.Name & ", " & Cells(NextRow, 1).Address".

Det skulle gerne vise navnet "Totalskema" og adressen i A-kolonnen på næste ledige række.
Avatar billede mowi Nybegynder
03. december 2007 - 20:33 #12
Ellers prøv:

Sub CollectData()
    Dim wks As Worksheet, NextRow As Integer

    Application.ScreenUpdating = False
    For Each wks In Worksheets
        If Not wks.Name = "Totalskema" Then
            wks.Activate
            Range("A2:D2").Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
            Worksheets("Totalskema").Activate
            NextRow = Range("A65536").End(xlUp).Row + 1
            Cells(NextRow, 1).PasteSpecial
        End If
    Next wks
   
    Application.ScreenUpdating = True
End Sub
Avatar billede sleeper Nybegynder
03. december 2007 - 21:03 #13
Hej mowi

Det viste sig, at være fordi at det ene ark stod tomt.
Din løsning fungere perfekt, hvis der er data i alle ark
Avatar billede mowi Nybegynder
04. december 2007 - 19:11 #14
Det var godt, du fandt fejlen.
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