02. september 2003 - 19:12 Der er 6 kommentarer og
1 løsning

Opsamling af data til et samlet Sheet

Hejsa.


Er der nogen som kan hjælpe med følgende? :

Jeg har et Excel ark, som indeholder en masse sheets. På Sheet1 er der data fra f.eks. A1:A8 på Sheet2 er der data fra A1:A19 / B1: B27 o.v.s. altså det er forskelligt hvor data står på de forskellige Sheets.

Jeg vil gerne have en makro eller en funktion som kan hente data fra alle disse Sheets og samle dem i et ”oversigts” Sheet.


Nogen som har idéer til dette?


Mvh

Brandmanden
Avatar billede aheiss Praktikant
02. september 2003 - 22:22 #1
Lige et par spørgsmål :
Som jeg forstår dit eksempel, kan der eksempelvis være data i A1 på flere sheets. Hvis det er tilfældet hvordan skal de så placeres på oversigtssiden? 1) Skal de lægges sammen 2) skal data i kolonne A placeres under hinanden nedefter, sheet efter sheet , 3) eller skal eksempelvis alt data fra sheet1 placeres i kolonne a - b, alt fra sheet2 i kolonne c-e, alt fra sheet3 i kolonne f-g osv. afhængig af hvor mange kolonner der bruges i hvert sheet.
03. september 2003 - 00:05 #2
Ja, til data i A1 på flere Sheets, andre Sheets er der ikke data i A1 men i C7.

På opsamlings Sheet skal de bare listes med start i A1 osv.

Ok`?
Avatar billede aheiss Praktikant
03. september 2003 - 10:27 #3
OK jeg ved ikke om jeg har forstået korrekt. Men jeg har lavet nedenstående lille ting. Kopier makroen ind i et modul og kør den.

Den forudsætter at 1) dit oversigtssheet er tomt
                  2) at dit oversigtssheet er det første ark
                  3) at alle efterfølgende ark skal hentes over i oversigten

Håber du kan bruge det :
________________________________________________
Sub summer()
Application.ScreenUpdating = False
antalark = Sheets.Count
For s = 2 To antalark Step 1
    Sheets(s).Activate
    Dim kol As Integer
    Dim rak As Integer
        kol = ActiveSheet.UsedRange.Columns.Count
        rak = ActiveSheet.UsedRange.Rows.Count
    For k = 1 To kol
        For a = 1 To rak
            Sheets(s).Activate
            If Cells(a, k) <> "" Then
                Cells(a, k).Copy
                Sheets(1).Activate
                Cells(1, k).Select
                    While Selection <> ""
                        ActiveCell(2, 1).Select
                    Wend
                Selection.PasteSpecial xlValues
            End If
        Next
    Next
Next
Sheets(1).Activate
End Sub
Avatar billede aheiss Praktikant
03. september 2003 - 11:05 #4
En mindre fejl har sneget sig ind - kigger lige på det !
Avatar billede aheiss Praktikant
03. september 2003 - 12:14 #5
Så er den fikset (samme forudsætninger som før) :
__________________
Sub summer()
Application.ScreenUpdating = False
antalark = Sheets.Count
For s = 2 To antalark Step 1
    Sheets(s).Activate
    Dim kol As Integer
    Dim rak As Integer
    posC1 = (InStr(1, (ActiveSheet.UsedRange.Address(ReferenceStyle:=xlC1R1)), "C"))
    posC2 = (InStr((posC1 + 1), (ActiveSheet.UsedRange.Address(ReferenceStyle:=xlC1R1)), "C"))
    PosR2 = (InStr(2, (ActiveSheet.UsedRange.Address(ReferenceStyle:=xlC1R1)), "R"))
        kol = (Mid((ActiveSheet.UsedRange.Address(ReferenceStyle:=xlC1R1)), posC2 + 1, 3))
        rak = (Mid((ActiveSheet.UsedRange.Address(ReferenceStyle:=xlC1R1)), PosR2 + 1, posC2 - PosR2 - 1))
    For k = 1 To kol
        For a = 1 To rak
            Sheets(s).Activate
            If Cells(a, k) <> "" Then
                Cells(a, k).Copy
                Sheets(1).Activate
                Cells(1, k).Select
                    While Selection <> ""
                        ActiveCell(2, 1).Select
                    Wend
                Selection.PasteSpecial xlValues
            End If
        Next
    Next
Next
Sheets(1).Activate
End Sub
03. september 2003 - 14:19 #6
Hej. Kan du ikke lægge et svar, så jeg kan give dig point? Nu har jeg lidt at arbejde med, det er ikke lige det jeg skal/skulle bruge, kan desværre ikke sende dig ark, da data er meget fortrolige... //Brandmanden
Avatar billede aheiss Praktikant
03. september 2003 - 16:31 #7
Point er altid godt. Håber det lykkes for dig :-)
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