Avatar billede firstchoice Nybegynder
09. februar 2004 - 16:45 Der er 10 kommentarer og
1 løsning

Merge 2 ark til 1 ark

Jeg har 2 ark med 500 linier i hver, og med identisk opsætning, men med forskellig data.
Jeg vil gerne merge de to ark til et 3. ark således, at man tager linie 1 fra ark 1 og placerer det på linie 1 i 3. ark, derefter linie 1 i ark 2 og placerer det i linie 2 på ark 3, derefter linie 2 fra ark 1 og placerer det i linie 3 på ark 3 osv osv.
Er der en der har et forslag til en macro??
Avatar billede nielsb Nybegynder
09. februar 2004 - 22:03 #1
Et forlag:
I linje 1 i ark 3 skriver du: +Ark1!A1..X1
I linje 2 i ark 3 skriver du: +Ark2!A1..X1
I Ark 3 kopierer du herfter linje 1 og 2 til de næste 1000 rækker.
Avatar billede firstchoice Nybegynder
10. februar 2004 - 08:58 #2
Nej den går ikke for så vil formlen i linie 3 være ændret til +ark1!A3..X3, og det er jo der problemet er.
Avatar billede kabbak Professor
10. februar 2004 - 09:41 #3
Her kopieres fra Ark1 og Ark2 til Ark2, ret selv

Public Sub KopiAfRaekkerFra2Ark()
Sheets("Ark3").Rows(1).Value = Sheets("Ark1").Rows(1).Value
Sheets("Ark3").Rows(2).Value = Sheets("Ark2").Rows(1).Value
For I = 2 To 500
A = Sheets("Ark3").Range("A65536").End(xlUp).Offset(1, 0).Row
Sheets("Ark3").Rows(A).Value = Sheets("Ark1").Rows(I).Value
A = Sheets("Ark3").Range("A65536").End(xlUp).Offset(1, 0).Row
Sheets("Ark3").Rows(A).Value = Sheets("Ark2").Rows(I).Value
Next
End Sub
Avatar billede janvogt Praktikant
10. februar 2004 - 09:44 #4
Det kan faktisk godt lade sig gøre uden makro.
Dog skal der lige laves et par hjælpekolonner.

1) I celle A1 på ark 3 skriver du følgende formel:
  =IF(MOD(ROW();2)=0;"Sheet2";"Sheet1")
  =HVIS(REST(RÆKKE();2)=0;"Ark2";"Ark1")  på dansk
 
2) Marker cellen og kopier den så langt ned du ønsker.
  Vi har nu angivet ark-referencen.

3) I celle B1 og B2 på ark 3 skriver du "1"
  I celle B3 på ark 3 skriver du følgende formel:
  =IF(B2=B1;B2+1;B2)
  =HVIS(B2=B1;B2+1;B2)  på dansk
  Formlen kopieres så langt ned, som formlen i kolonne A.
  Nu har vi også linie-referencen på plads.

4) I celle C1 på ark 3 kan du nu skrive følgende formel:
  =INDIRECT(A1&"!"&"A"&B1)
  =INDIREKTE(A1&"!"&"A"&B1)  på dansk
  Formlen kopieres ned.
  Nu skulle værdierne være hentet fra de respektive ark.

Når først du har værdierne over kan du altid indsætte indholdet som værdier og slette hjælpekolonnerne igen.
Avatar billede kabbak Professor
10. februar 2004 - 09:59 #5
den kan faktisk være kortere

Public Sub KopiAfRaekkerFra2Ark()
A = 1
For I = 1 To 500
Sheets("Ark3").Rows(A).Value = Sheets("Ark1").Rows(I).Value
A = A + 1
Sheets("Ark3").Rows(A).Value = Sheets("Ark2").Rows(I).Value
A = A + 1
Next
End Sub
Avatar billede firstchoice Nybegynder
10. februar 2004 - 17:14 #6
Hej kabbak.
Det ser rigtig godt ud.
Da ikke alle 500 rækker er udfyldt fra starten, kunne jeg ønske mig, at den testede på hvormange rækker der var udfyldt i ark 4 (ark 1 og 2 dannes på grundlag af ark 4)
Avatar billede kabbak Professor
10. februar 2004 - 19:44 #7
A, bliver her den sidste række i A kolonnen på Ark4, der er data i

A = Sheets("Ark4").Range("A65536").End(xlUp).Row
Avatar billede firstchoice Nybegynder
10. februar 2004 - 20:42 #8
kabak.
Ja det virker fint.
Tak for hjælpen.
Avatar billede kabbak Professor
11. februar 2004 - 23:21 #9
et svar.
Avatar billede kabbak Professor
09. marts 2004 - 22:27 #10
Tid til lukning
Avatar billede kabbak Professor
15. juni 2004 - 23:09 #11
hej
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