[VBA Excel] String in een functie

Pagina: 1
Acties:

  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Ik heb (eindelijk) een functie gemaakt, die moet kijken of het laatste cijfer van een optelsom 0 is, van een veel groter getal (12 cijfers). Nu gaat de complete berekening een beetje ver (het is een berekening van zgn. scrap nummers van treinen), maar het komt er op neer, dat als die optel som een een tiental is, de functie een 'Juist' moet geven, en als dit niet het geval is, een 'Onjuist'
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Function uic(nummer As String) As Integer

If Len(nummer) < 12 Then
MsgBox ("U hebt een niet volledige UIC code ingevoerd. 
Het is onmogelijk om het scrapnummer te berekenen")
GoTo einde
End If

Dim berekening_dump As Integer
Dim verm_met_2 As Integer
Dim verm_met_1 As Integer
Dim controle_uic As Integer

While Len(nummer) > 0
verm_met_2 = Left(nummer, 1) * 2
verm_met_1 = Mid(nummer, 2, 1)
    If verm_met_2 > 9 Then
    verm_met_2 = (1 + Mid(verm_met_2, 2, 1))
    End If
berekening_dump = berekening_dump + verm_met_2 + verm_met_1
nummer = Right(nummer, Len(nummer) - 2)
Wend

uic = berekening_dump
einde:
End Function

Dit werkt, dit geeft de berekende optelsom.

Als ik NA de Wend nu deze functie toevoeg:
code:
1
2
3
4
5
6
7
8
If Right(berekening_dump, 1) = 0 Then
Dim controle As String
controle = Juist
Else
controle = Onjuist
End If

uic = controle


krijg ik op de functie een #waarde terug. Met getallen werkt het wel (ipv de juist/onjuist)
ook aanhalingstekens werken niet.

Het is ongetwijfeld erg simpel, wat ik fout doe, maar ik kom er gewoon even niet op. Any help?
(gesearched, maar ik kon niets vinden, het zal me niets verbazen als je geen strings kan meesturen met een functie!)

[ Voor 7% gewijzigd door 456 op 14-08-2003 21:24 . Reden: layout ver..... ]

Een dag geen vertraging, is een dag niet gereisd


Verwijderd

je hebt uic als integer gedefineerd ;-)

Function uic(nummer As String) As Integer


en daar wil je later een string in proppen, gaat niet lukken. 8)7

Laatste stuk veranderen in:


If Right(berekening_dump, 1) = 0 Then
uic = "Juist"
Else
uic = "Onjuist"
End If


lijkt mij dan

[ Voor 6% gewijzigd door Verwijderd op 14-08-2003 21:30 ]


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Dat bedoel ik maar ... Pfff. doos die ik ben.
TNX!
UIC as string gedefinieerd.
laatste gewoon zo gelaten:
code:
1
2
3
4
5
6
7
8
9
10
If Right(berekening_dump, 1) = 0 Then
controle = "Juist"
Else
controle = "Onjuist"
End If


uic = controle
einde:
End Function

Bedankt voor je tover woorden, kazan!

dit mag 'dicht' wat mij betreft!

Een dag geen vertraging, is een dag niet gereisd