Avatar billede lasse37 Nybegynder
16. februar 2004 - 07:52 Der er 12 kommentarer og
1 løsning

Formler og felter

Hej

Jeg forsøger at lave en lille valuta-tabel som skal fungere på den måde at man taster et beløb ind i et felt og så skal feltet automatisk omregne tallet til en anden kurs.

Kan det lade sig gøre?

vh
Lasse
Avatar billede mugs Novice
16. februar 2004 - 07:58 #1
Lav en kolonne (Kolonne A) med kursværdien og en kolonne (Kolonne B) med valuta. I f.eks C1 indtaster du:

= A1*B1

Herefter kan du trække formlen ned i kolonne C

Det kan sikkert laves meget mere avanceret, men dette er det mestr simple.
Avatar billede lasse37 Nybegynder
16. februar 2004 - 08:05 #2
Jeg forstår hvad du mener, men det jeg er ude efter er at få opklaret om man kan lave en formel i et felt og bagefter indtaste et beløb i samme felt og så skal formlen referere til det tal man har indtastet. Fx jeg vil gerne have at feltet gange det indtastet beløb med 2, så unaset hvilket beløb jeg indtaster ganger feltet sig selv med 2 når jeg trykker enter..
Avatar billede mugs Novice
16. februar 2004 - 08:19 #3
Så skal du vist ind i noget VBA-programmering, og det er ikke mig i Excel.
Avatar billede kabbak Professor
16. februar 2004 - 08:37 #4
skal være i arkets modul

Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Column = 1 Then  ' 1 = kolonne A, eks. på hel kolonne
If Target.Address = "$C$2" Then ' celle c1, eks. på en celle
Application.EnableEvents = False
Target.Value = (Target.Value * 2) ' ganger tallet med 2
End If
Application.EnableEvents = True
End Sub
Avatar billede jkrons Professor
16. februar 2004 - 08:46 #5
kabbaks løsning løser det problem, du skitserede, men umiddelbart virker det ikke som en "smart" løsning, da du skal rette i selve koden hver gang kursen ændres, eller du skal beregne en anden valuta. mugs løsning forekommer betydeligt nemmere at vedligeholde.
Avatar billede kabbak Professor
16. februar 2004 - 08:49 #6
man kan også henvise til en celle med kursen.

Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Column = 1 Then  ' 1 = kolonne A, eks. på hel kolonne
If Target.Address = "$C$2" Then ' celle c1, eks. på en celle
Application.EnableEvents = False
Target.Value = (Target.Value * range("B1").value) ' ganger tallet med bærdien i B1
End If
Application.EnableEvents = True
End Sub
Avatar billede lasse37 Nybegynder
16. februar 2004 - 09:52 #7
Det ser godt ud det der.. Men hvor finder jeg arkets modul?
Avatar billede kabbak Professor
16. februar 2004 - 10:00 #8
højreklik på arkfanen, vælg vis programkode.
Avatar billede jkrons Professor
16. februar 2004 - 10:11 #9
kabbak->Hvis din kode skal gange indholdet af en celle med indholdet af en anden, må detda være lige så nemt bare at lave en formel i regnearket.
Avatar billede lasse37 Nybegynder
16. februar 2004 - 10:12 #10
Hvis jeg nu gerne vil bruge koden til et antal felter kan jeg så skrive "if target.address = a2 to f2"

Kan det lade sig gøre?
Avatar billede kabbak Professor
16. februar 2004 - 10:17 #11
> lasse37

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:AF2")) Is Nothing Then
Application.EnableEvents = False
Target.Value = (Target.Value * range("B1").value) ' ganger tallet med bærdien i B1
End If
Application.EnableEvents = True
End Sub

>> jkrons, lasse vil jo have værdien ændret i samme celle, det kan en formel ikke.
Avatar billede lasse37 Nybegynder
16. februar 2004 - 10:47 #12
Jamen, det virker jo bare perfekt, så jeg takker mange gange for hjælpen og giver dig pointene...
Avatar billede kabbak Professor
16. februar 2004 - 10:48 #13
tak for pointz. ;-))
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