Avatar billede degnens Mester
19. december 2005 - 22:17 Der er 6 kommentarer og
1 løsning

Makro til addition i stedet for overskrivning

Hej eksperter.
Jeg har en makro, der kopierer værdierne fra en række felter B2 til AY2 i arket "Dataregistrering. Derefter paster makroen værdierne ind i en tilsvarende række i arket "Timeseddel - sagsregnskab". De to aktuelle makroliner ser således ud:

Sheets("Detaljeregistrering").Range("B2:ay2").Copy
Sheets("Timeseddel - sagsregnskab").Range("V" & lRow).PasteSpecial Paste:=xlPasteValues

Jeg kunne godt tænke mig at ændre funktionen til, at makroen i stedet for bare at paste - og altså overskrive evt. tidligere indtastede værdier - i stedet at lægge værdierne til de pågældende felter i arket "Timeseddel - sagsregnskab". Er det muligt?
Avatar billede kabbak Professor
19. december 2005 - 22:26 #1
Så skal du i en løkke for at gøre det.

Denne adderer til det eksisterende

Dim X As Integer
X = 0
For Each c In Sheets("Detaljeregistrering").Range("B2:ay2")
Sheets("Timeseddel - sagsregnskab").Range("V" & lRow).Offset(0, X) = Sheets("Timeseddel - sagsregnskab").Range("V" & lRow).Offset(0, X) + c.Value
X = X + 1
Next
Avatar billede sjap Praktikant
19. december 2005 - 22:28 #2
Det kan klares med en lille ændring af din PasteSpecial:

Sheets("Timeseddel - sagsregnskab").Range("V" & lRow).PasteSpecial Paste:=xlAll, Operation:=xlAdd
Avatar billede kabbak Professor
19. december 2005 - 22:29 #3
den var smart, kendte den ikke ;-(
Avatar billede sjap Praktikant
19. december 2005 - 22:37 #4
;0)
Avatar billede degnens Mester
20. december 2005 - 03:26 #5
sjap - det var perfekt. Jeg kendte heller ikke den funktion. Du lavede en lille fejl i din sætning, da du kom til at skrive "Paste:=xlAll" i stedet for "xlPasteValues". Men det ændre jo ikke ved, at du viste mig den egentlige funktion som jeg ledte efter, nemlig "Operation:=xlAdd". Det fungerer præcist som jeg havde håbet. Lægger du et svar?
Avatar billede sjap Praktikant
20. december 2005 - 11:47 #6
Gerne :0)

Jeg mente ikke xlAll eller xlValues gjorde nogen forskel, da det jo er værdien, der adderes.
Avatar billede degnens Mester
20. december 2005 - 12:25 #7
Det betyder noget, fordi formatet (baggrundsfarve og celleramme og tekststørrelse) er forskellige på de to ark. Men for funktionen xlAdd gør det ganske rigtigt ingen forskel, og det var den jeg gik efter. Jeg skrev bare kommentaren for at gøre opmærksom på forskellen, dersom andre brugere skulle vælge bare at kopiere makroen. Så vil det jo være godt lige at være opmærksomme på hvilken model de vil bruge. Tak for hjælpen.
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