Avatar billede Fresch7 Praktikant
28. januar 2015 - 09:42 Der er 12 kommentarer og
1 løsning

Makroer i prisskema

Hej,

Sidder og skal lave et prisskema og havde tænkt mig at lave et skema med priser og så have nogen knapper i skemaet så man kan lægge 10% til priser hver gang man trykker på knappen. Der skulle selvfølgelig være flere valg muligheder, men det er essensen af det.

Mit problem er at jeg har problemer med at finde ud af hvordan jeg skal konstruere formlen så den lægger 10% til hver gang. Altså at det bliver 100, 110, 121 og så videre i et tænkt eksempel.

Håber nogen kan hjælpe.
28. januar 2015 - 09:47 #1
Du ganger indholdet med 1,1.
28. januar 2015 - 09:53 #2
Du skal have fat i indsæt speciel - der kan du f.eks. gange alle tal med 1.1, som @erikjull skriver uden at skulle skrive en egentlig formel.
Avatar billede Fresch7 Praktikant
28. januar 2015 - 10:04 #3
Den med 1,1 havde jeg regnet ud :)

Mit problem er at jeg ikke ved hvordan jeg makroen til at fungere. Kan man få den til at gange med 1,1 hver gang man trykker på knappen?
28. januar 2015 - 10:40 #4
OK, du skrev oprindeligt at det var formlen, du havde problemer med.

Jeg ville kombinere makroen med en celle, som indeholder ændringen i procent. Det kan godt være fantasien i dag kun rækker til en stigning på 10 %, men der kunne komme behov for +25, +5 -10 osv. Så hent ændringen i en celle (i eksemplet herunder A1).

Så ville jeg finde ud af hvad der skal multipliceres med i funktionen Indsæt speciel, Multiplicer på denne måde:
1+(A1/100).
Avatar billede Fresch7 Praktikant
28. januar 2015 - 11:20 #5
Ok, det giver også fin mening.

Hvordan ville du så sætte det op. Selve formlen skal vel ligge et sted i arket?

Hvordan får jeg sat "knappen" op så den lægger 10 % til hver gang man trykker på den. Altså at når jeg trykker på den lægger den 10 % til celle A1, B1 og C2?
Avatar billede jens48 Ekspert
28. januar 2015 - 12:33 #6
Med Erik Juuls forslag om at have en celle (her D1) hvor prisforhøjelsen står kan denne makro klare det:

Sub Macro1()
    Range("D1").Copy
    Range("A1:B1,C2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D1").Select
End Sub
Avatar billede Fresch7 Praktikant
28. januar 2015 - 14:02 #7
Fedt nok. Det virker prøcist som ønsket hvis man sætter 1,1 i D1.

Nogen ide til hvis man skulle trække 10% fra hvad der så skal stå i cellen?
Avatar billede Fresch7 Praktikant
28. januar 2015 - 14:34 #8
HVad hvis man trækker de 1,1 fra en anden fane?
Avatar billede jens48 Ekspert
28. januar 2015 - 14:56 #9
Hvis du vil trække 10 % fra skriver du blot 0,9 i D1 og hvis du vil trække de 1,1 eller 0,9 fra et andet ark vil makroen se sådan ud:

Sub Macro1()
    Sheets("Sheet2").Range("D1").Copy
    Range("A1:B1,C2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D1").Select
End Sub

Husk at rette arknavnet i 2. linje.
Avatar billede Fresch7 Praktikant
28. januar 2015 - 15:06 #10
Og sheet 2 kaldes vel bare det navn som arked nu hedder?
Avatar billede Fresch7 Praktikant
28. januar 2015 - 15:08 #11
Hvis det nu er en del celler, er der så en nemmere måde at skrive det på end A1,A2,A3... etc.
Avatar billede jens48 Ekspert
28. januar 2015 - 19:49 #12
#10: Ja
#11: Ja. A1:A5 tager alle celler fra A1 til A5. Hvis du vælger flere områder skal de adskilles med komma - ligesom i makroen i #9
Avatar billede Fresch7 Praktikant
28. januar 2015 - 19:55 #13
Perfekt. Det bliver super godt. 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

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