Autor Thema: Function mit VB-Syntax  (Gelesen 131 mal)

Sam85

  • Jr. Member
  • **
  • Beiträge: 49
Function mit VB-Syntax
« am: 10. Mai 2019, 16:13 »
Hallo,

ich hab mal eine Frage. Wie kann ich eine "Function" schreiben? (nur exemplarisch)

Function num(x as number) as number
num = x + 1
End Function

formula = num(1)
Hier kommt bei mir der Fehler, das eine Anweisung erwartet wird. Was muss ich tun, um eine Function zum laufen zu bringen?

Freue mich über eine Rückmeldung.

Sam85

  • Jr. Member
  • **
  • Beiträge: 49
Re: Function mit VB-Syntax
« Antwort #1 am: 20. Mai 2019, 16:24 »
So nun weiß ich auch wo man die eigenen Funktionen erstellen kann. Nebenbei gibt es dafür einen Weg ohne vorher in den Formelmodus zu gehen?

Zu meinen Anliegen: Wenn ich das Optional verwende, wird ein Gleichheitszeichen erwartet?
Leider verstehe ich nicht warum und wo? Kann da jemand was erkennen.

Function fncPrüfungTrue(type as Number, Optional arr1() as Number,  Optional field1 as Number, _
                                        Optional arr2() as String,  Optional field2 as String) as Boolean
    Dim i as Number
   
    If type = 1 Then   
        For i = 1 To Count(arr1)
            If field1 = arr1(i) Then
                fncPrüfungTrue = True
                Exit For
            Else
                fncPrüfungTrue = False
            End If
        Next i   
    ElseIf type = 2 Then
        For i = 1 To Count(arr2)
            If field2 = arr2(i) Then
                fncPrüfungTrue = True
                Exit For
            Else
                fncPrüfungTrue = False
            End If
        Next i
    End If
End Function

Sam85

  • Jr. Member
  • **
  • Beiträge: 49
Re: Function mit VB-Syntax
« Antwort #2 am: 20. Mai 2019, 16:29 »
Ok so geht es...muss also wirklich einen Wert zu Beginn zuweisen. Enum gibt es vermutlich nicht zur Auswahl oder? Kennt jemand vielleicht noch einen anderen Anwendungsweg? (Dachte an sowas wie als Objekt deklarieren und dann eine Typenkonvertierung)

Function fncPrüfungTrue(type as Number, Optional arr1() as Number = 0,  Optional field1 as Number = 0, _
                                        Optional arr2() as String = "",  Optional field2 as String = "") as Boolean
    Dim i as Number
   
    Select Case type
        Case 1
            For i = 1 To Count(arr1)
                If field1 = arr1(i) Then
                    fncPrüfungTrue = True
                    Exit For
                Else
                    fncPrüfungTrue = False
                End If
            Next i
        Case 2
            For i = 1 To Count(arr2)
                If field2 = arr2(i) Then
                    fncPrüfungTrue = True
                    Exit For
                Else
                    fncPrüfungTrue = False
                End If
            Next i
    End Select   
End Function
« Letzte Änderung: 20. Mai 2019, 16:34 von Sam85 »