|  | 		    
					
    
        
            
                
                        
                
            
            
                
                | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 09:23
 | 
 |  | 
 
                Hej
 Du laver følgende:
 i felt A4 indsættes følgende tekst "Indtast Vægt:"
 i felt A5 indsættes følgende tekst "Indtast Højde:"
 i felt C4 indsættes følgende tekst "Kg:"
 i felt C5 indsættes følgende tekst "meter:"
 i felt A7 indsættes følgende tekst "BMI:"
 i felt A9 indsættes følgende tekst "Du er:"
 felt B4 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
 felt B5 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
 felt B7 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
 i felt B7 indsættes følgende formel "=B4/(B5/100)^2"
 i felt B9 indsættes følgende formel "=IF(B7<18;"Undervægtig";IF(B7<25;"Normalvægtig";IF(B7<30;"Moderat overvægtig";"Meget overvægtig")))"
 Dette skulle gerne have den ønskede funktion!
 mvh
 Peder
                
                
                 |  |  | 
 |  |  | 
 
                Du var hurtigere Peder:
 m   h   BMI      tynd   18   slank   25   kraftig   30   fed
 78   175   25,5                    X      
 til højre for kraftig står der 30 og fed
 under BMI denne formel:
 =A2/(B2/100)^2
 undrer for tynd
 =IF($C2<F1;"X";" ")
 under slank
 =IF($C2<H1;"X";" ")
 unde kraftig
 =IF($C2<J1;"X";" ")
 under fed
 =IF($C2>I1;"X";" ")
 mit forkortede forslag, Svend
                
                
                 |  |  | 
 |  |  | 
 
                Ja Peder, 
 Vi er heldigvis enige om det væsentlige: IF erne...Svend
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 12:34
 | 
 |  | 
 
                Vi er ikke helt enige med IF'erne.
 Dine If statements vil placere BMI tallet i alle kategorier hvis man er undervægtig. 
 ( eks. C2 = 16 vil lave X'er ved alle kategorier!)
 Min skriver kun den relevante kategori. (eks. hvis man er undervægtig er det ikke relevant om man er slank, det er man jo klart)
 Peder
                
                
                 |  |  | 
 |  |  | 
 
                Du har ret, jeg skulle have kombineret < betingelserne med  > betingelse...
 Eller som du gør, overskrive tidligere opfyldte betingelser.
 Sorry Svend
                
                
                 |  |  | 
 |  |  | 
 
                mine 4 IF virker nu, kun med X ud for den eneste rigtige...
 =IF($C2<E1;"X";" ")
 =IF($C2<E1;" ";IF($C2<G1;"X";" "))
 =IF($C2<G1;" ";IF($C2<I1;"X";" "))
 =IF($C2>I1;"X";" ")
 >Du skal tabe dig: XX,XX kg 
 kræver at du angiver ideal BMI, Svend
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 15:04
 | 
 |  | 
 
                Hej svend
 Det eneste der nu er galt med IF'erne er hvis C2 = I1. Så vil der ikke forekomme et kryds. Den sidste If statement du har skal være C2>=I1
 Jeg kan se at jeg mangler den med hvor meget man skal tabe sig! (skal vist feje for min egen dør!   )
 mvh
 Peder
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 15:27
 | 
 |  | 
 
                Nu er min rettet til!
 Da der kun skal regnes med 2 decimaler bør alt afrundes! derfor denne rettelse:
 Du laver følgende: 
 i felt A4 indsættes følgende tekst "Indtast Vægt:" 
 i felt A5 indsættes følgende tekst "Indtast Højde:" 
 i felt C4 indsættes følgende tekst "Kg:" 
 i felt C5 indsættes følgende tekst "meter:" 
 i felt A7 indsættes følgende tekst "BMI:" 
 i felt A9 indsættes følgende tekst "Du er:"
 i felt C11 indsættes følgende tekst "Kg" 
 felt B4 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler) 
 felt B5 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler) 
 felt B7 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
 felt B11 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler) 
 i felt B7 indsættes følgende formel "=ROUND(B4;2)/(ROUND(B5;2)/100)^2"
 i felt B9 indsættes følgende formel "=IF(ROUND(B7;2)<18;"Undervægtig";IF(ROUND(B7;2)<25;"Normalvægtig";IF(ROUND(B7;2)<30;"Moderat overvægtig";"Meget overvægtig"))) 
 i felt A11 indsættes følgende formel: "=IF(ROUND(B7;2)>=25;"Du skal tabe dig:";IF(ROUND(B7;2)<18;"Du skal tage på:";"Du er perfekt!"))"
 I felt B11 indsættes følgende formel: "=IF(ROUND(B7;2)>=25;ROUND(B4;2)-(24,99*(ROUND(B5;2)/100)^2);IF(ROUND(B7;2)<18;(18*(ROUND(B5;2)/100)^2)-B4;0))"
 Dette skulle gerne have den ønskede funktion!
 mvh
 Peder
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 15:40
 | 
 |  | 
 
                Rettelse
 I felt C5 indsættes følgende tekst "cm:"
 Dum fejl!!!!!!!!!!!!   |  |  | 
 | |  | Kommentar Fra :
  Højris  | 
 Dato :  31-01-08 15:54
 | 
 |  | 
 
                ok det er da ikke en funktions fejl   Men jeg har fulgt lidt med her på tråden og formlerne har jeg kopieret ind på deres respektive pladser,  det kommer der det ud af at i B9, A11 og B11   #NAVN?  Hvorfor gør det så lige det.
      Men ellers er det da meget sjovt.
 Højris
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 16:24
 | 
 |  | 
 
                Har du husket at fjerne "" ved alle formler?
 Peder
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Højris  | 
 Dato :  31-01-08 16:41
 | 
 |  | 
 
                Ja det har jeg været opmærksom på samt at der ikke mangler en  ) eller ))
 Jeg skrev først tekstene   formaterede cellerne og kopirerede derefter formlerne ind.
     Højris
                
                
                 |  |  | 
 |  |  | 
 
                Og så tilføjelsen, Svend 
 m   h   BMI
 78   175   25,5
 Ideal vægt      Ideal BMI
 73,5   kg   24
 tab dig       
 4,5   kg
 under Ideal vægt Formlen: =C5*(B2/100)^2
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 17:02
 | 
 |  | 
 
                Hej Højris.
 Det er nok fordi du har en dansk version af excel!
 I formlerne erstatter du ROUND med AFRUND og IF med HVIS derefter burde den være i vinkel!
 Peder
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 17:05
 | 
 |  | 
 
                Til Svend.
 Du skal i din formel der beregner hvor meget man skal tabe/tage skelne imellem to senarier:
 1) hvis man vejer for meget skal man kun tabe sig til man har BMI = 25
 2) hvis man vejer for lidt skal man kun tage på til man har BMI = 18
 Derfor vil der være 2 ideal vægte for folk der ikke er normalvægtige!
 Mvh
 Peder
                
                
                 |  |  | 
 |  |  | 
 
                Ikke nødvendigvis, 
 min svoger har en målsætning et BMI på 22, selv er min kampvægt 74 kg svarende til BMI 24...
 Man kan ikke sigte mod et interval, men mod sit eget individuelle, ønskede mål, Svend
 (men rigtigt, vejer man mindre kommer der til at stå:  tab dig -x kg...).
 Derfor også min bemærkning ovenfor: >"kræver at du angiver ideal BMI, Svend" 
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 17:29
 | 
 |  | 
 
                Kan ikke forstå argumentet med et ønske BMI!
 Så hellere en ønske vægt!
 Man har da svært ved at forholde sig til om en BMI på 22 er bedre end en på 23!
 Derfor valgte jeg at sige at man er OK bare man er inde for intervallet 18 < BMI < 25
 Peder
                
                
                 |  |  | 
 |  |  | 
 
                Nok fordi en ideal BMI er individuel, afhænger af køn, kropsbygning alder etc. Svend
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  berpox  | 
 Dato :  31-01-08 21:54
 | 
 |  | 
 
                Nu er det jo sådan at jeg æææælsker VBA kode... så derfor får du lige nedenstående løsning.
 Du gør det, at du i Excel taster indholdet i cellerne:
 1) I celle A1 skriver du: Vægt [kg]
 2) I celle A2 skriver du: Højde [cm]
 3) I celle A5 skriver du: BMI
 4) Du åbner VBA editoren med ALT+F11
 5) Du dobbeltklikker på Ark1 ude til venstre i "oversigten"
 6) Du indsætter den nedenstående kode
 7) Du lukker VBA editoren
 8) Du indtaster vægt i kg. og højde i centimeter.....
 - resultatet kan du selv aflæse    - og så ikke et ord om, at BMI bør tage alder, køn og kropsbygning i betragtning også. Ganske som Svend var inde på    Den resulterende idealvægt beregnes for en BMI lige midt i intervallet mellem 18 og 25. Nemlig 21,5.
 | Kode Dim f As Double 'vægtændringsfaktor
 Dim m As Integer
 Dim h As Integer
 Dim BMI As Double
 Dim besked1, besked2, besked3 As String
 
 Sub BeregnBMI()
 
 m = Round(Range("B1").Value)
 h = Round(Range("B2").Value)
 
 If h <= 0 Then
 Range("B5").Value = ""
 Exit Sub
 End If
 
 BMI = Round(m / ((h / 100) ^ 2), 1)
 
 Range("B5").Value = BMI
 
 f = 21.5 / BMI
 m = m * f
 
 besked2 = "Du bør ændre din idealvægt til "
 besked3 = m & " kg."
 
 Select Case BMI
 Case Is < 8
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 Case Is <= 18
 besked1 = "Du er undervægtig."
 Case Is <= 25
 besked1 = "Du har en normal vægt."
 besked2 = ""
 besked3 = ""
 Case Is <= 30
 besked1 = "Du er moderat overvægtig."
 Case Is <= 150
 besked1 = "Du er meget overvægtig."
 Case Else
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 End Select
 
 Range("A6").Value = besked1
 Range("A7").Value = besked2 & besked3
 
 End Sub
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Range("B1") = 0 Or Range("B2") = 0 Then
 Range("B5").Value = ""
 Exit Sub
 End If
 
 If Target = Range("B2") Or Target = Range("B1") Then
 BeregnBMI
 End If
 
 End Sub
 | 
 |  |  | 
 | |  | Kommentar Fra :
  Peder99  | 
 Dato :  31-01-08 22:55
 | 
 |  | 
 
                Hvis man skal snakke om en ideel BMI bør man vel drage til undersøgelser der giver en statistisk ideel BMI!
 se evt. http://www.nomedica.dk/bmitest.htm Her er den ideelle BMI 21,5 men:
 22 - 23,4 Kvinder
 23,5 - 24,9 Mænd
 berbox.
 Når du er så glad for VBA, så vil du vel gerne lave en form der gør det brugervenligt at indtaste Vægt, Højde og køn. Bruge undersøgelsens intervaller som ideal BMI og der fra beregne hvor meget man skal tabe sig? -Mon ikke jjhj vil blive glad for sådan en!    Mvh
 Peder
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  berpox  | 
 Dato :  01-02-08 00:07
 | 
 |  | 
 
                Jo.... det kan jeg da sagtens. Men jeg vil i første omgang lade tallene stå i Excel cellerne....
 Vi skal også tænke på, at hvis vi siger der er to ideal-intervaller, så må grænsen mellem "overvægtig" og "meget overvægtig" jo også flytte sig.....
 vent lidt.... 
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  berpox  | 
 Dato :  01-02-08 01:07
 | 
 |  | 
 | Kode Dim f1, f2 As Double 'vægtændringsfaktorer
 Dim m, m1, m2 As Double 'masse (vægt)
 Dim h As Double 'højde
 Dim s As String 'køn
 Dim BMI As Double 'BMI
 Dim besked1, besked2, besked3, besked4 As String
 
 Sub BeregnBMI()
 
 m = Round(Range("B1").Value, 1)
 h = Round(Range("B2").Value, 0)
 s = LCase(Range("B3").Value)
 
 
 If h <= 0 Then
 Range("B5").Value = ""
 Exit Sub
 End If
 
 BMI = Round(m / ((h / 100) ^ 2), 1)
 Range("B5").Value = BMI
 
 besked2 = "Du bør ændre din idealvægt til omkring "
 
 Select Case s
 Case "k"
 BMIk
 Case "m"
 BMIm
 Case Else
 Range("B3").Value = LCase(InputBox("Indtast køn m/k", "", ""))
 
 'Exit Sub
 End Select
 
 Range("A6").Value = besked1
 Range("A7").Value = besked2 & besked3
 Range("A8").Value = besked4
 
 End Sub
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Range("B1") = 0 Or Range("B2") = 0 Then
 Range("B5").Value = ""
 Exit Sub
 End If
 
 If Range("B1") = "" Or Range("B2") = "" Then
 Range("B5").Value = ""
 Exit Sub
 End If
 
 
 If Target = Range("B1") Or Target = Range("B2") Or Target = Range("B3") Then
 BeregnBMI
 End If
 
 End Sub
 
 Function BMIm() 'mænd
 
 f1 = 23.5 / BMI
 f2 = 24.9 / BMI
 m1 = Round(m * f1, 1)
 m2 = Round(m * f2, 1)
 
 Select Case BMI
 Case Is < 8
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 Case Is < 23.5
 besked1 = "Du er undervægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tage " & m1 - m & "-" & m2 - m & "kg. på."
 Case Is <= 24.9
 besked1 = "Du har en normal vægt."
 besked2 = ""
 besked3 = ""
 Case Is <= 30
 besked1 = "Du er moderat overvægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
 Case Is <= 150
 besked1 = "Du er meget overvægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
 Case Else
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 End Select
 End Function
 
 Function BMIk() 'kvinder
 
 f1 = 22 / BMI
 f2 = 23.4 / BMI
 m1 = Round(m * f1, 1)
 m2 = Round(m * f2, 1)
 
 besked4 = ""
 
 Select Case BMI
 Case Is < 8
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 Case Is < 22
 besked1 = "Du er undervægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tage " & m1 - m & "-" & m2 - m & "kg. på."
 Case Is <= 23.4
 besked1 = "Du har en normal vægt."
 besked2 = ""
 besked3 = ""
 Case Is <= 28.5
 besked1 = "Du er moderat overvægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
 Case Is <= 150
 besked1 = "Du er meget overvægtig."
 besked3 = m1 & "-" & m2 & " kg."
 besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
 Case Else
 besked1 = "Urealistisk højde eller vægt!"
 besked2 = ""
 besked3 = ""
 Range("B5").Value = ""
 End Select
 
 End Function
 | 
 |  |  | 
 | |  | Du har følgende muligheder |  | 
 |  | 
            
                    Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
                                  
            
         |  |  | 
 |  |