Avatar billede mrkr Juniormester
03. oktober 2008 - 23:21 Der er 10 kommentarer og
1 løsning

overflytte celler fra et ark til andet ark

jeg har et ark som gerne skal have overflyte nogle forskellige dato til

de data jeg skal have flyttet står lidt blandet rundt i arket ARK1
De skal herefter overføres til ARK2

I ARK2 skal cellerne sættes ind i den samme linje, altså kola+b+c+d osv.

I ARK2 skal der findes den første ledige linje og derefter indsætte dataene.
Nedenfor lister jeg hvordan dataene skal overflyttes:

ARK1    ARK2
D2      kol a
D4      kol b
D3      kol c
A10      kol d
D10      kol e

der er flere data der skal flyttes, men ovenstående giver et billede af mit problem.
Avatar billede jkrons Professor
03. oktober 2008 - 23:55 #1
Som jeg ser det, er der ingen logik i, hvilke celler i Ark1, der skal overføres til hvilke celler i Ark2. Hvis det er korrekt opfattet, er manuelt arbejde nok den eneste løsning - med mindre du på forhånd kan udpege alle de relevante celler i Ark1, så der kan laves en makro.
Avatar billede mrkr Juniormester
04. oktober 2008 - 09:59 #2
Det er korrekt at der ikke er nogen logik.
Jeg håber også på at der kunne laves en makro, men jeg har ikke vist alle de celler der skal flyttes for at forenkle opgaven for den der skal hælpe mig.
Jeg regner med at jeg selv kan "udvidde" koden med de sidste celler, når jeg først har fået koden til at flytte nogle data.
Avatar billede excelent Ekspert
04. oktober 2008 - 11:13 #3
Hvis det er de samme celler hver gang i Ark1 så prøv denne,- ret arknavne i linier 2 og 3 til aktuel

Sub tst()
Set sh1 = Sheets("Ark1")
Set sh2 = Sheets("Ark2")
sh2.Cells(sh2.Cells(1000, "A").End(xlUp).Row + 1, "A") = sh1.Cells(2, "D")
sh2.Cells(sh2.Cells(1000, "B").End(xlUp).Row + 1, "B") = sh1.Cells(4, "D")
sh2.Cells(sh2.Cells(1000, "C").End(xlUp).Row + 1, "C") = sh1.Cells(3, "D")
sh2.Cells(sh2.Cells(1000, "D").End(xlUp).Row + 1, "D") = sh1.Cells(10, "A")
sh2.Cells(sh2.Cells(1000, "E").End(xlUp).Row + 1, "E") = sh1.Cells(10, "D")

End Sub
Avatar billede mrkr Juniormester
04. oktober 2008 - 11:41 #4
ja, den gør det jeg efterspurgte, men der er lige en lille krølle.

Det er vigtigt af de celler der flyttes over i ark 2 ALTID ender i samme række.
Det gør den ikke nødvendigvis her. Hvis der er tomme celler i række der har indtil nu har været den nederste, så bliver der fyldt op i den.

Det er ikke så godt. Det skulle gerne forblive uændret således alle celle i den nye kørsel ender i samme række.
Avatar billede excelent Ekspert
04. oktober 2008 - 12:48 #5
dvs. Ark1!D2 skal i Ark2!A2 og Ark1!D4 skal i Ark2!B4  ?
Avatar billede mrkr Juniormester
04. oktober 2008 - 13:23 #6
alle poster d2, d4,d3,a10,d10som står i ark1 skal ende i den samme linje i ark2.
feks. a10,b10,c10,d10,e10
eller a11,b11,c11,d11,e11
Avatar billede excelent Ekspert
04. oktober 2008 - 13:29 #7
du skriver :
I ARK2 skal der findes den første ledige linje og derefter indsætte dataene
men første ledige linje i hvilken kolonne ?
Avatar billede mrkr Juniormester
04. oktober 2008 - 13:38 #8
den skal helst teste på kolonne a
Avatar billede excelent Ekspert
04. oktober 2008 - 13:42 #9
Sub tst()
Set sh1 = Sheets("Ark1")
Set sh2 = Sheets("Ark2")
rk = sh2.Cells(1000, "A").End(xlUp).Row + 1
sh2.Cells(rk, "A") = sh1.Cells(2, "D")
sh2.Cells(rk, "B") = sh1.Cells(4, "D")
sh2.Cells(rk, "C") = sh1.Cells(3, "D")
sh2.Cells(rk, "D") = sh1.Cells(10, "A")
sh2.Cells(rk, "E") = sh1.Cells(10, "D")

End Sub
Avatar billede mrkr Juniormester
04. oktober 2008 - 14:05 #10
så var det lige som det skulle være
takker mange gange
Har du et svar, så har jeg points
Avatar billede excelent Ekspert
04. oktober 2008 - 14:07 #11
ok velbekom
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