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
En skærmrevolution er på vej: Her er alt du bør vide om fremtidens mini-LED og micro-LED-skærme
En mindre skærmrevolution er nu under opsejling. Tre nye skærmteknologier kommer med hver deres løfte om vild kontrast, flottere farver og modulære egenskaber.
Computerworld
Overblik: Så meget betaler danske virksomheder i løn til it-medarbejderne - se listerne her
Overblik: Der er meget stor forskel på løn-niveauet for it-medarbejderne i de danske virksomheder. Få overblikket over, hvor lønnen er højest og lavest her.
CIO
The Digital Edge: Claus H. Andersen står i spidsen for at gøre dit indkøb nemmere i Salling Groups 1.500 butikker
Podcast: Salling Groups digitale chef, Claus H. Andersen, er på en digital mission: Det skal være nemmere at handle, nemmere at være kunde og nemmere være forbruger - i alle kædens 1.500 butikker. Hør hvordan den digitale chef arbejder.
Job & Karriere
"Vi var fem mennesker, der fik 400 millioner kroner, et lokale på 12 m2 og et stempel fra Undervisningsministeriet. Det kalder jeg mit første start-up. Det blev til IT-Universitetet. "
"Da jeg var færdig med PhD´en så var vi fem mennesker, der fik 400 millioner kroner, et lokale på 12 m2 og et stempel fra Undervisningsministeriet. Så skulle vi bare have et nyt universitet op og køre på seks måneder. Det kalder jeg mit første start-up. Det blev til IT-Universitetet."
White paper
Markedsanalyse: Sådan forbedrer EDI din samhandel
I en markedsundersøgelse fra august 2018 blev 300 retailers og producenter spurgt til, hvordan EDI og supply chain-teknologi hjælper dem med at forbedre deres samhandel. Det er ikke nogen hemmelighed, at konkurrenceforholdene er blevet skærpet i det seneste årti, og specielt priserne er udsat for øget pres. Dette betyder, at virksomheder hele tiden skal arbejde for at implementere mere effektive handelsprocesser. Heldigvis er der stadig forretningsområder, som er nemme at strømline ved hjælp af intelligente outsourcede løsninger. Ét af disse er den elektroniske udveksling af ordrer og fakturaer (EDI). I dette whitepaper kigger vi nærmere på de fem vigtigste områder, hvor EDI ifølge de 300 respondenter spiller en stor rolle i at forbedre virksomhedernes samhandel.