Avatar billede ngha Nybegynder
19. maj 2016 - 13:23 Der er 5 kommentarer og
1 løsning

Kopiere rækker med bestemt data fra et ark til et andet

Jeg har et excel ark hvor jeg skal have kopieret nogle bestemte rækker fra et ark til et andet.
Arket jeg skal kopiere fra(overslag) indholder i kolonne G ordet "I alt" i de rækker som jeg gerne vil have kopieret over i det andet ark (udvalgte data). De celler der skal kopieres med over er fra kolonne A til G samt S til AH i disse rækker.

Det er i excel 2013(engelsk version)

Håber nogen kan hjælpe med en løsning da jeg ikke selv er excelhaj!
Avatar billede jens48 Ekspert
19. maj 2016 - 22:16 #1
Måske kan dette bruges:

Sub FlytData()
Dim LastRowOver, LastRowUdv, x As Integer
LastRowOver = Worksheets("Overslag").Range("G65536").End(xlUp).Row
LastRowUdv = Worksheets("Udvalgte Data").Range("A65536").End(xlUp).Row
For x = 2 To LastRowOver
If Cells(x, 7) = "I alt" Then
Worksheets("Overslag").Range(Cells(x, 1), Cells(x, 7)).Copy Destination:=Worksheets("Udvalgte Data").Cells(LastRowUdv, 1)
Worksheets("Overslag").Range(Cells(x, 19), Cells(x, 34)).Copy Destination:=Worksheets("Udvalgte Data").Cells(LastRowUdv, 19)
LastRowUdv = LastRowUdv + 1
End If
Next
End Sub
Avatar billede jens48 Ekspert
19. maj 2016 - 22:27 #2
En lille rettelse for at undgå overskrivning af sidste linie:

Sub FlytData()
Dim LastRowOver, LastRowUdv, x As Integer
LastRowOver = Worksheets("Overslag").Range("G65536").End(xlUp).Row
LastRowUdv = Worksheets("Udvalgte Data").Range("A65536").End(xlUp).Row
For x = 2 To LastRowOver
If Cells(x, 7) = "I alt" Then
Worksheets("Overslag").Range(Cells(x, 1), Cells(x, 7)).Copy Destination:=Worksheets("Udvalgte Data").Cells(LastRowUdv + 1, 1)
Worksheets("Overslag").Range(Cells(x, 19), Cells(x, 34)).Copy Destination:=Worksheets("Udvalgte Data").Cells(LastRowUdv + 1, 19)
LastRowUdv = LastRowUdv + 1
End If
Next
End Sub
Avatar billede ngha Nybegynder
19. maj 2016 - 23:53 #3
Hej Jens

Mange tak for dit forslag - jeg får dog et problem når jeg kører makroen da mine data i arket der kopieres fra for nogle af kolonnerne er formler - 3 kolonner er summen af nogle af de rækker jeg ikke ønsker med over i det nye ark og en anden kolonne bruger i vlookup en celle fra det første ark. Kan man kopiere således at det blot er resultatet af formlen der kopieres over og ikke selve formlen. Eller er der en anden løsning?
Avatar billede jens48 Ekspert
20. maj 2016 - 03:38 #4
Sub FlytData()
Dim LastRowOver, LastRowUdv, x As Integer
LastRowOver = Worksheets("Overslag").Range("G65536").End(xlUp).Row
LastRowUdv = Worksheets("Udvalgte Data").Range("A65536").End(xlUp).Row
For x = 2 To LastRowOver
If Cells(x, 7) = "I alt" Then
Worksheets("Overslag").Range(Cells(x, 1), Cells(x, 7)).Copy
Worksheets("Udvalgte Data").Cells(LastRowUdv + 1, 1).PasteSpecial (xlPasteValues)
Worksheets("Overslag").Range(Cells(x, 19), Cells(x, 34)).Copy
Worksheets("Udvalgte Data").Cells(LastRowUdv + 1, 19).PasteSpecial (xlPasteValues)
LastRowUdv = LastRowUdv + 1x
End If
Next
End Sub
Avatar billede ngha Nybegynder
24. maj 2016 - 15:55 #5
Hej Jens. Tak for dit sidste forslag som jeg dog ikke helt kunne få til at virke. I mellemtiden har jeg i stedet fundet frem til "power query" som kan det jeg ønsker uden brug af makro og med nem opdatering.
Avatar billede ngha Nybegynder
27. maj 2016 - 23:12 #6
Var ikke lige opmærksom på ar jeg skulle have skrevet det forrige som et svar - men som sagt tak for hjælpen jens48 omend jeg fandt ud af at power query var en nemmere løsning at gå til også ift opdateringer i arket der hentes fra.
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