Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1272to1276
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Programmlogik

Programmlogik
Peter
Guten Tag
Sofern bestimmte Voraussetzungen erfüllt sind, will Daten übermitteln. die Abfrage, ob die Voraussetzungen erfüllt sind, habe ich an eine Funktion FreigabeFallsNotwendigErfolgt ausgelagert:
If FreigabeFallsNotwendigErfolgt(strParameter) = False then GoTo Weiter
Übermittlungsaktion
Weiter:
Scheinbar hat hier das Ergebnis FALSE der Funktion keine Auswirkung. Denn egal, ob die Funktion FALSE oder TRUE ergibt, wird die Übermittlungsaktion ausgeführt.
Was mache ich falsch?
Gruss, Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Programmlogik
13.08.2012 09:07:34
Josef

Hallo Peter,
zeig doch den gesamten Code, vor allem die Funktion.

« Gruß Sepp »

AW: Programmlogik
13.08.2012 09:14:44
Peter
Hallo Sepp
Hier ist die Funktion.
Gruss, Peter
Function FreigabeFallsNotwendigErfolgt(strParameterAs String) As Boolean
Dim lngValue As Long
lngValue = Evaluate("SUMPRODUCT((CL_" & strParameter & ">=0.0005)*(OK_" & strParameter& "="""" _
))") * 1
Select Case lngValue
Case 1
MsgBox "Bei " & lngValue & " Position ist die Abweichung " & Chr(13) & "von 0. _
005% oder höher nicht visiert.", vbCritical
FreigabeFallsNotwendigErfolgt = False
Case Is > 1
MsgBox "Bei " & lngValue & " Positionen sind die Abweichungen " & Chr(13) & "von  _
0.005% oder höher nicht visiert.", vbCritical
FreigabeFallsNotwendigErfolgt = False
Case Else
FreigabeFallsNotwendigErfolgt = True
End Select
End Function

Anzeige
AW: Programmlogik
13.08.2012 09:24:52
Josef

Hallo Peter,
die Funktion ist i. O.
Ich habe sie etwas vereinfacht. Sprungmarken sind im Allgemeinen unnötig.

Function FreigabeFallsNotwendigErfolgt(strParameter As String) As Boolean
  Dim lngValue As Long
  
  lngValue = Evaluate("SUMPRODUCT((CL_" & strParameter & ">=0.0005)*(OK_" & strParameter & "=""""))") * 1
  
  If lngValue >= 1 Then
    MsgBox "Bei " & lngValue & " Position" & IIf(lngValue > 1, "en", "") & " ist die Abweichung " & _
      Chr(13) & "von 0.005% oder höher nicht visiert.", vbCritical
  Else
    FreigabeFallsNotwendigErfolgt = True
  End If
  
End Function


Sub peter()
  
  If FreigabeFallsNotwendigErfolgt(strParameter) Then
    Übermittlungsaktion
  End If
  
  'restlicher Code
End Sub



« Gruß Sepp »

Anzeige
AW: Programmlogik
13.08.2012 09:50:10
Peter
Hallo Sepp
Vielen Dank. Die Sprungmarke habe ich gewählt, da mehrere Abfragen durchlaufen werden müssen, bevor die Übermittlungsaktion stattfinden kann:
Sub peter()
For zz = 0  to UBound(arZ)
StrParameter = arZ(zz)
If FreigabeFallsNotwendigErfolgt(strParameter) = False Then GoTo Weiter:    'Abfrage 1
If TagesdatenAktualisiert(strParameter) = False Then GoTo Weiter: 'Abfrage 2
Übermittlungsaktion
Weiter:
Next zz
End Sub
Oder ginge das auch anders (besser)?
Gruss, Peter
AW: Programmlogik
13.08.2012 09:54:10
Josef

Hallo Peter,
For zz = 0 To UBound(arZ)
  strParameter = arZ(zz)
  If FreigabeFallsNotwendigErfolgt(strParameter) Then
    If TagesdatenAktualisiert(strParameter) Then
      Übermittlungsaktion
    End If
  End If
Next zz


« Gruß Sepp »

Anzeige
AW: Programmlogik
13.08.2012 09:55:25
Peter
Hallo Sepp
Danke!
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige