Avatar billede smount Nybegynder
11. august 2011 - 00:30 Der er 7 kommentarer og
1 løsning

Formel og værdi i samme celle?

Hej experter,

Jeg har et Excel spørgsmål, som jeg håber I kan hjælpe mig med at finde svar på.
Jeg er i gang med at bygge en model, der kræver en masse tastning af inputdata.
I denne forbindelse vil jeg høre, om det på nogen måde er muligt både at have "tastet input" og "beregnet input" i samme celle?
Eksempel: I celle A1 skal der enten indtastes et beløb eller beløbet skal beregnes på baggrund af værdien i nogle andre celler, såfremt der ikke er tastet en værdi manuelt. Hvis værdien først tastes og herefter slettes, så skal værdien beregnes igen.

Er dette muligt?

På forhånd tak,

Med venlig hilsen
Sean
Avatar billede Ialocin Novice
11. august 2011 - 10:14 #1
Hej smount

I Excel 2003 vil jeg umiddelbart sige nej ... da det vil danne en cirkulær reference, hvilket vil sige at cellen selv er med i beregningen!

Hvordan det forholder sig i andre versioner af Excel, pas ?


Jeg tror du skal benytte en mellemregningscelle ?


Med venlig hilsen, Nicolai
Avatar billede natkatten Mester
11. august 2011 - 14:23 #2
Dette er jeg ret sikker på ikke kan lade sig gøre uden VBA, hvor der skal kodes en Worksheet_Change event, som undersøger, om der sker ændringer i en eller flere celler (alt efter hvad du præcist ønsker at opnå).

Selv om dette kan lade sig gøre, så vil jeg ligesom Nicolai mene, at du med fordel kan redesigne dit regneark. Der skal være rigtigt gode grunde til at "blande" brugerinput og resultatet af en beregning i én og samme celle.

Men dette er blot min mening - andre med mere VBA-erfaring end mig, kan have en anden opfattelse.
Avatar billede Ialocin Novice
11. august 2011 - 22:32 #3
Hej smount

Her er lidt VBA fusk, som du evt. kan/vil bruge ?

I det aktuelle arks Change_hændelse kopieres nedenstående kode.
Koden gør følgende:
Hvis der tastes manuelt i celle A1 holder A1 den indtastede værdi.
Hvis værdien i celle A1 slettes ... bliver værdien i celle A1 = med celle B1 + celle C1.


Private Sub Worksheet_Change(ByVal Target As Range)

'hvis A1 er den aktuelle celle
If Target.Address = "$A$1" Then

        'hvis den aktuelle celleværdi er tom
        If Target.Value = "" Then
           
            'den aktuelle celleværdi = værdien fra celle B1 + værdien fra celle C1
            Target.Value = Cells.Range("B1").Value + Cells.Range("C1").Value
        End If
     
End If


End Sub


Med venlig hilsen Nicolai
Avatar billede smount Nybegynder
12. august 2011 - 11:09 #4
Hej begge,

Mange tak for hjælpen.

Jeg vil prøve at smide VBA-koden ind og se om jeg kan få det til at virke.

Smid et svar, så sørger jeg for at fordele point.

Mvh
Sean
Avatar billede natkatten Mester
12. august 2011 - 11:14 #5
Jeg afstår fra points her - Nicolai fortjener dem alle.

/natkatten
Avatar billede Ialocin Novice
12. august 2011 - 11:54 #6
Hej smount

Tak til natkatten :o)

Jeg venter lige med et fusker svar, indtil vi ved om skidtet fungsjonerer ??


Med venlig hilsen, Nicolai
Avatar billede smount Nybegynder
12. august 2011 - 12:16 #7
Jeg har fået det til at virke - og det virker upåklageligt. Rigtig mange tak for hjælpen :-)

Mvh
Sean
Avatar billede Ialocin Novice
12. august 2011 - 12:45 #8
Hej Sean

Super.
Hermed mit "svar"

Go´ weekend, Nicolai
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