Avatar billede hugopedersen Nybegynder
06. august 2013 - 08:24 Der er 10 kommentarer og
1 løsning

Konvertere formler til værdier med VBA

Jeg har en timeseddel hvor jeg laver en masse beregningner baseret på værdier der ligger på en andet faneblad end der hvor timesedlen ligger.
Når jeg er færdig med at udfylde sedlen, skal den sendes ind som en vedhæftet fil via en mail. Det er kun en enkelt fane der sendes. Det virker fint nok bortset fra at der jo bliver lidt rod i formlerne på arket, og det får brugeren i den anden ende at vide.
Jeg vil så gerne gøre det at jeg fjerne formlerne og kun har værdierne/resultaterne til at stå tilbage når jeg sender.

Hvordan gør man det med VBA?
Avatar billede RogerWilco Seniormester
06. august 2013 - 08:36 #1
Er det ikke nemmere bare manuelt at kopiere værdierne over i et nyt ark - det kræver jo kun ganske få klik?
Avatar billede bjarnehansen Seniormester
06. august 2013 - 09:05 #2
Hvad med at gemme arket som pdf også sende den ind?
Avatar billede store-morten Ekspert
06. august 2013 - 12:29 #3
Excel 2010
Filer --> Gem og send --> Send som PDF
Avatar billede KurtOA Praktikant
06. august 2013 - 21:01 #4
Hvis du VIL konvertere formler til værdier kan det gøres så nemt som med denne makro der skal køres fra det faneblad hvor konverteringen skal ske.


Sub CONvert()

Cells.Select
Cells.Copy
    Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End Sub

mvh Kurt
Avatar billede hugopedersen Nybegynder
07. august 2013 - 13:36 #5
@RogerWilco  hvorfor skulle jeg gøre noget manuelt der kan gøres automatisk?  :-)

@bjarnehansen  der er allerede mulighed for at sende som PDF indbygget. Men der er nogen der gerne vil have arket som en XLS fil til videre bearbejdning.
Avatar billede hugopedersen Nybegynder
07. august 2013 - 13:46 #6
@KurtOA  din kode giver det ønskede reultat så smid et svar
Avatar billede bjarnehansen Seniormester
07. august 2013 - 14:36 #7
Hvordan skal man bruge den kode så den ikke tager alle formler og laver dem om til værdier, er det noget med at den springer de tomme celler over ?
Avatar billede KurtOA Praktikant
07. august 2013 - 15:26 #8
OK - et svar ;-)

til bjarnehansen....
Den kopierer det der er - dvs i de celler hvor der ER noget - og lægger den beregnede værdi tilbage hvis der er en formel i cellen.

mvh Kurt
Avatar billede hugopedersen Nybegynder
08. august 2013 - 13:13 #9
Jeg var nok lidt for hurtig/upræcis:

Jeg har brug for at det er i 2 navngivne områder at formlerne fjernes og ikke i hele arket.
Avatar billede KurtOA Praktikant
08. august 2013 - 14:31 #10
Så prøv istedet denne....
udskift selv områdenavnene i nedenstående kode til de ønskede



Sub CONvert()

Range("område1").Copy
Range("område1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("område2").Copy
Range("område2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False ' tømmer hukommelsen igen

End Sub

mvh Kurt
Avatar billede hugopedersen Nybegynder
09. august 2013 - 13:30 #11
Tak for det Kurt - det løste mit problem
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