Avatar billede iubgr Nybegynder
15. august 2002 - 15:09 Der er 7 kommentarer og
1 løsning

Datagrundlag

Hej,

Er der nogen som har en go' ide til følgende:

Jeg f.eks. 8 ark i samme fil. Disse ark indeholder 4 kolonner, som indeholder samme type data. (eks. kolonne indeholder initialer). På disse 8 ark vil der være forskellige antal rækker.

Mit spørgsmål er så, hvordan kan jeg samle dataene fra de 8 ark på et ark, således at jeg har ét datagrundlagsark?
Avatar billede b_hansen Novice
15. august 2002 - 15:13 #1
Jeg ville lave en makro, der gør det.
Avatar billede b_hansen Novice
15. august 2002 - 15:14 #2
Det nemmeste ville være at optage en makro, der markerer og kopierer dine data fra start til slut (med End-Home). Data kopieres til et nyt ark.

Denne rutine lader du gennemløbe en løkke, der tager data fra første til sidste ark.
Avatar billede Slettet bruger
15. august 2002 - 16:14 #3
Er det samme kolonneheader på alle ark ?
Avatar billede iubgr Nybegynder
15. august 2002 - 16:17 #4
Ja, der er samme kolonneheader på alle ark.
Avatar billede janvogt Praktikant
15. august 2002 - 16:42 #5
Lav 8 SUM.HVIS-formler, som du lægger sammen.
Avatar billede bak Forsker
15. august 2002 - 16:43 #6
denne makro opretter et nyt ark og kopierer alle data over i det.
den laver ingen header og der må ikke være "huller" i data

Sub test2()
Dim x As Integer
Dim r As Range
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
For x = 1 To Worksheets.Count - 1
    Sheets(x).Activate
    Set r = Range("a2").CurrentRegion.Offset(1, 0).Resize(, 4)
    r.Copy Worksheets(Worksheets.Count).Range("A65536").End(xlUp).Offset(1, 0)
Next
End Sub
Avatar billede bak Forsker
15. august 2002 - 16:53 #7
hvis der er "huller" i data og headeren skal med.
Sub test2()
Dim x As Integer
Dim r As Range
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
For x = 1 To Worksheets.Count - 1
    Sheets(x).Activate
    If x = 1 Then
      Set r = Range("a1:d" & Range("A65536").End(xlUp).Row)
      r.Copy Worksheets(Worksheets.Count).Range("A65536").End(xlUp)
    Else
      Set r = Range("a2:d" & Range("A65536").End(xlUp).Row)
      r.Copy Worksheets(Worksheets.Count).Range("A65536").End(xlUp).Offset(1, 0)
    End If
Next
End Sub
Avatar billede iubgr Nybegynder
16. august 2002 - 07:53 #8
Bak - Tak, det er helt perfekt!
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