Thema Datum  Von Nutzer Rating
Antwort
Rot VBA
07.12.2008 19:05:15 Harry Müller
NotSolved
Blau Aw:VBA
07.12.2008 22:03:14 jh
NotSolved
25.12.2008 21:10:11 Harry Müller
NotSolved

Ansicht des Beitrags:
Von:
jh
Datum:
07.12.2008 22:03:14
Views:
983
Rating: Antwort:
  Ja
Thema:
Aw:VBA
Hallo,

die folgende Function prüft die eingegebene Artikelnummer (z. B.
aus einer Textbox) und liefert je nach Ergebis der Prüfung folgende Rückgabewerte:

Prüfziffer ist korrekt - TRUE
Prüfziffer ist falsch - die korrekte Prüfziffer
falsches Eingabeformat (Länge <> 7 oder unzulässige Zeichen) -
FALSE

Public Function PruefeArtikelNr(ByVal Nummer As String)
Dim Rvs As String, Pruefziffer As Byte, i As Byte, _
Summe As Integer, Ergebnis As Byte
If Len(Nummer) <> 7 Then
PruefeArtikelNr = False
Exit Function
ElseIf IsNumeric(Nummer) = False Then
PruefeArtikelNr = False
Exit Function
Else
Pruefziffer = Val(Right(Nummer, 1))
Nummer = Left(Nummer, 6)
Rvs = StrReverse(Nummer)
For i = 1 To 6
Summe = Summe + Val(Mid(Nummer, i, 1)) * Val(Mid(Rvs, i, 1))
Next i
Ergebnis = Summe Mod 11
If Ergebnis = Pruefziffer Then
PruefeArtikelNr = True
Else
PruefeArtikelNr = Ergebnis
End If
End If
End Function

Das kann z. b. folgendermaßen ausgewertet werden (wir nehmen an,
dass die Prüfziffer in TextBox1 steht):

Dim p As Variant
p = PruefeArtikelNr(TextBox1.Value)
Select Case p
Case False
MsgBox "Eingabeformat ist fehlerhaft"
Case True
MsgBox "Prüfziffer stimmt"
Case Else
MsgBox "Prüfziffer stimmt nicht, korrekt ist " & p
End Select

Gruß

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA
07.12.2008 19:05:15 Harry Müller
NotSolved
Blau Aw:VBA
07.12.2008 22:03:14 jh
NotSolved
25.12.2008 21:10:11 Harry Müller
NotSolved