Avatar billede folj Forsker
22. januar 2015 - 13:13 Der er 2 kommentarer og
1 løsning

Fejl i brugerdefineret function

Hej venner på Eksperten.dk
Jeg sider og skriver min egen function, men allerede ved første test får jeg fejlen "User-defined type not defined", og første linie i functionen er markeret blå i VBA-editorens DeBugger.

Her er min function, og jeg har prøvet at holde den så enkelt som muligt i første test.

Jeg har også forsøgt at kommentere undervejs så det er til at finde ud af hvad den skal gøre.

Function InProduction(RequestDate As Date, StartDateArray As Variant, EndDateArray As varinat)
' function skal teste om RequestDate er større end starttidspunkt og mindre end sluttidstpunkt - for så er vi i produktion
Dim SDate As Date
Dim EDate As Date

InProduction = 0 ' sætter defaultværdi til 0 , så function returenerer 0 hvis der ikke blev fundet nogen produktion på RequestDate

For i = 1 To UBound(StartDateArray, 1) ' vi løber vores StartDateArray igennem med en For-løkke
  If IsDate(StartDateArray(i, 1)) Then
    SDate = StartDateArray(i, 1) ' hvis der findes en startdato i StartDateArray, så putter vi værdien i variablen SDate
    EDate = EndDateArray(i, 1)  ' og så står slutdato på samme plads i EndDateArray
    If RequestDate > SDate Then  ' hvis større end starttidspunkt
      If RequestDate < EDate Then ' hvis større end starttidspunkt og mindre end sluttidstpunkt - så er vi i produktion
        InProduction = 1 ' og vi vil returnere værdien 1
      End If ' hvis vi er i prod slutter
    End If ' hvis større end starttidspunkt slutter
 
  End If ' hvis der findes en dato slutter
Next i

End Function


Nogen der kan hjælpe med havd der går galt?
22. januar 2015 - 13:22 #1
Prøv at skrive Variant i stedet for varinat) i starten.
Avatar billede folj Forsker
22. januar 2015 - 13:43 #2
Ja. Du har ret det er det der skaber fejlen.
Smid lige et svar, for du har tjent lidt points ved at spotte fejlen.

Som du ser så havde jeg skrevet varinat med små bogstaver. Når jeg håndskriver så plejer jeg ellers at holde øje med at de små bogstaver skifter til stort førstebogstav, som kontrol af at jeg stavede rigtigt. Det havde jeg dog ikke fået gjort i dag.

Tak fordi du var vågen og opdagede det.

Nu fejler functionen ikke længere på det samme, nu svarere den blot #VALUE.

Kan du også regne ud havd det skyldes?
22. januar 2015 - 13:51 #3
:)
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