christopher21 Juniormester
09. marts 2018 - 00:59 Der er 3 kommentarer og
1 løsning

If sætning i VBA

Jeg skal udrengne en forventet karakter for den enkelte studerende. Karakteren udregnes efter følgende metode:
Hvis TILMELD_STATUS er ”plads” tildeles to point, ved ”venteliste” tildeles ét point, ellers tildeles ingen point.
Hvis CHECK_STATUS er ”godkendt” tildeles ét point, ved ”afvist” tildeles minus ét point og ved ”ej checket” tildeles ingen point.
Hvis tilmeldingsdatoen ligger i juni eller december tildeles ét point, hvis datoen ligger maj eller november tildeles to point, ellers tildeles ingen point.
Den forventede karakter udregnes efter følgende kalkule:
5 point = 10
4 point = 7
3 point = 4
2 point = 02
1 point = 00
0 eller -1 point = -3

Kan dette udregnes i VBA og i så fald hvordan?
sidwave Ekspert
09. marts 2018 - 03:06 #1
du bør bruge case istedet. IF er til simple ting.
https://www.techonthenet.com/excel/formulas/case.php

lad mig prøve:

Select Case Points
  Case Is CHECK_STATUS="godkendt"
      Points = 1
  Case CHECK_STATUS="afvist"
      Points=Points-1
  Case CHECK_STATUS="ejchecket"
      Points=Points
  End Select

og anden del:

Select Case Month
  Case "Juni", "December"
      Points=Points+1
  Case "Maj", "November"
      Points=Points+2
  End Select

det kan også være det er nemmere at lave med SWITCH.
du skal jo udregne din karakterskala.. (kender jo ikke dit program)
https://www.techonthenet.com/excel/formulas/switch_ws.php
sidwave Ekspert
09. marts 2018 - 03:17 #2
Cristopher: det er fint med eksperten, men jeg har et forslag:

Køb en VBA bog, og lav alle eksemplerne i den.
det vi medføre at du kan tingene i hovedet, og så bare lige slår op for hurtigt at checke, når du kommer i tvivl.
finb Ekspert
09. marts 2018 - 08:35 #3
Til spørger:
Har du ikke lige spurgt om det ?
bak Mester
11. marts 2018 - 12:16 #4
Indsæt denne kode i et modul. Du kan derefter bruge det direkte i regnearket som brugerdefineret funktion

Public Function ForventetKarakter(tilmeld_status As String, check_status As String, tilmeldingsdato As Date) As String
    Dim iNumberOfPoints As Integer
    iNumberOfPoints = 0
    If LCase(tilmeld_status) = "plads" Then iNumberOfPoints = iNumberOfPoints + 2
    If LCase(tilmeld_status) = "venteliste" Then iNumberOfPoints = iNumberOfPoints + 1
    If LCase(check_status) = "godkendt" Then iNumberOfPoints = iNumberOfPoints + 1
    If LCase(check_status) = "afvist" Then iNumberOfPoints = iNumberOfPoints - 1
    If Month(tilmeldingsdato) = 6 Or Month(tilmeldingsdato) = 12 Then iNumberOfPoints = iNumberOfPoints + 1
    If Month(tilmeldingsdato) = 5 Or Month(tilmeldingsdato) = 11 Then iNumberOfPoints = iNumberOfPoints + 2
   
    Select Case iNumberOfPoints
        Case 0: ForventetKarakter = "-3"
        Case 1: ForventetKarakter = "00"
        Case 2: ForventetKarakter = "02"
        Case 3: ForventetKarakter = "4"
        Case 4: ForventetKarakter = "7"
        Case 5: ForventetKarakter = "10"
        Case Else
    End Select
   
End Function
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

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





Premium
Datatilsynet vil ikke forholde sig til danske skolers brug af Microsoft 365: "Det er lidt ud over det normale pensum"
Interview: Datatilsynet vil ikke komme med en klar anbefaling til, om danske skoler kan bruge udenlandske cloud-løsninger, før man har set konkrete eksempler. “Det er helt bestemt et område, der har vores bevågenhed og hele tiden bliver vurderet.”
Computerworld
Huaweis topchef: Vores nye styresystem er betydelig hurtigere end Android
Huawei er svært tilfreds med selskabets nye operativsystem, der hedder Hongmeng. Systemet er meget hurtigere end Android, lover topchefen, og Huawei vil udbrede det til en masse andre enheder.
CIO
The Digital Edge: Ørsteds CIO Michael Biermann styrker it-afdelingen: "Vi får en masse nye kollegaer med kompetencer, som vi overhovedet ikke har set før. Det er virkeligt spændende"
The Digital Edge: Et styrket fokus på it-arkitektur, agile og værktøjer som design thinking har på få år sat fart på den 780 personer store it-afdeling hos energikoncernen Ørsted. Hør hele historien om transformationen og hvad fremtiden byder direkte fra CIO Michael Biermann.
Job & Karriere
Nye danskkrav får ansøgertallet til at falde på IT-Universitetet
Et nyt sprogkrav, der skal begrænse antallet af internationale studerende, har betydet, at 16 procent færre har søgt om at blive optaget på en bacheloruddannelse på IT-Universitetet i København.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.