Avatar billede petan Nybegynder
23. april 2009 - 10:24 Der er 13 kommentarer og
1 løsning

VBA - Tilføje dynamisk formel til talværdi i mange celler

Hej,

Jeg har en stor mængde af tal som er tastet ind i et regneark. Jeg har brug for at kunne gange alle tal med en faktor, som jeg løbende ændrer. Denne faktor taster jeg i en celle . - eks. A1.

Eksempel:
Celleværdi inden ændring: 25
Celleværdi efter ændring: =25*A1

Hvordan får jeg ændret værdien i mine celle uden at jeg manuelt skal ændre dem?

Jeg kan ikke loope igennem den, da mine tal er samlet i mange grupperinger. Det bedste ville være hvis jeg kunne markere dem og klille på en genvejstast (som afspiller en makro) og dermed ændre værdien i cellerne.

På forhånd tak.
Avatar billede supertekst Ekspert
23. april 2009 - 10:49 #1
Skal der indsættes en formel i cellerne eller skal resultatet beregnes og indsættes - på basis af?

bestående værdi * indhold af celle A1
Avatar billede oyejo Nybegynder
23. april 2009 - 10:52 #2
Ikke sikkert du trenger en makro til dette.

I ditt eksempel blir det slik:
1) merk celle A1 og kopierer den.
2) merk alle seller som skal endres

Jeg har norsk versjon, da blir det slik
3) Velg Rediger-> lim inn utvalg.
4) Det kommer opp et skjema, velg multipliser

Da er alle dine celler multiplisert med verdien i celle A!
Avatar billede oyejo Nybegynder
23. april 2009 - 10:52 #3
i celle A1  :-)
Avatar billede petan Nybegynder
23. april 2009 - 10:57 #4
Tak for jeres kommentarer!

supertekst: Der skal indsættes en formel i cellerne.
Oyejo: Hvis jeg følger denne fremgangmåde får jeg ingen dynamik ved fremtidig ændring af celle A1.

Jeg skal fremtidigt kunne ændre alle værdierne på en gang ved kun at ændre i cellen A1.
Avatar billede petan Nybegynder
23. april 2009 - 10:58 #5
Jeg har prøvet noget ala dette:

Sub AddBudRef()
  Selection.Value = "=" & Format(Selection.Value) & "A1"
End Sub

Men det giver en runtime error.
Avatar billede supertekst Ekspert
23. april 2009 - 11:07 #6
Sub modificerVærdi()
    værdi = Selection.Value
    Selection.Formula = "=" & værdi & "* A1"
End Sub
Avatar billede petan Nybegynder
23. april 2009 - 11:10 #7
Det virker perfekt - men kun på enkelte celler af gangen. Jeg kan ikke markere flere celler og gøre det, for så får jeg "mismatch" fejl.
Avatar billede oyejo Nybegynder
23. april 2009 - 11:13 #8
Det blir kanskej ikke dynamisk,
men når du skriver et nytt tall i A1,
kan du like gjerne trykke Ctrl+c etterpå.

Du må også markere området som skal endres, på nytt etter å ha skrevet i A1.

Istedet for å trykke på en makro, kan jeg i min norske verjson bare trykke. Alt+r og så v, p , enter.
Avatar billede supertekst Ekspert
23. april 2009 - 11:17 #9
Petan:
Fat mod - et lille eksempel følger....
(afholder kursus p.t.)
Avatar billede petan Nybegynder
23. april 2009 - 11:18 #10
oyejo: Tak for input. Jeg forstår din metode, og jeg bruger den jævnligt. Jeg har flere tusinde celler fordelt på flere ark. Den færdige model skal sendes ud til brugere jeg ikke kan bede om at gøre det du foreslår. Det skal være muligt at ændre alle celler i løbet af få sekunder.
Avatar billede petan Nybegynder
23. april 2009 - 11:19 #11
supertekst: Super. Jeg afventer. Giv dig tid.
Avatar billede supertekst Ekspert
23. april 2009 - 11:24 #12
REM: Marker området, der skal modificeres - alternativ skal det defineres.


Sub modificerVærdi()
    For Each celle In Selection.Cells
        værdi = celle.Value
        If værdi <> "" And IsNumeric(værdi) = True Then
            celle.Formula = "=" & værdi & "* A1"
        End If
    Next
End Sub
Avatar billede petan Nybegynder
23. april 2009 - 11:30 #13
Smukt! Perfekt! Tak for hjælpen.

Så mangler jeg bare et svar.
Avatar billede supertekst Ekspert
23. april 2009 - 12:22 #14
Selv tak - et svar...
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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