Frohes neues erstmal:)
ICh habe mal eine Frage. Ich habe eine Funktion programmiert, in der aber noch eine If-Schleife eingefügt werden muss.
Es geht darum, dass ich eine Kreditkartennummer eingebe und vba mir anzeigt ob sie gültig ist und von welchen Hersteller die Karte ist.
Die Programmierung ob sie gültig ist, habe ich ja hinbekommen.
Aber diese If-SChleife nicht.
Hier mal die Codes. Der erste Code ist die Programmierung der Gültigkeit. In dieser soll der zweite Code (unten) eingefügt werden. Die stelle ist im ersten COde markiert ("Hier bitte die Prefixe prüfen").
Es wäre super,wenn mir jemand das mal zeigen könnte.
Erster Code:
Function kkn(kk$)
Const Min = 13
Const Max = 20
Dim i%, Stellen_Wert%, Q_Summe%
kk = Trim(kk)
If Len(kk) Max Or IsNumeric(kk) = False Then
kkn = "Fehler"
Exit Function
End If
'Normierung auf Max-Zeichen mit vornullen
kk = String(Max - Len(kk), "O") & kk
For i = Max To 1 Step -1
Stellen_Wert = Mid(kk, i, 1) * 1
If i Mod 2 = 1 Then
If Stellen_Wert > 4 Then
Stellen_Wert = Stellen_Wert * 2 - 9
Else
Stellen_Wert = Stellen_Wert * 2
End If
End If
Q_Summe = Q_Summe + Stellen_Wert
Next i
If Q_Summe Mod 10 = 0 And Q_Summe <> 0 Then
kkn = "OK"
'Hier bitte die Prefixe prüfen
Else
kkn = "Nicht Ok"
End If
End Function
Zweiter Code (soll in den ersten bei ("Hier bitte die Prefixe prüfen") eingefügt werden):
Function kreditkartentyp(kr$)
Dim kh
Select Case Len(kr)
Case 13
If (Left(kr, 1)) = "4" Then kh = "VISA"
Case 14
If (Left(kr, 3) > "299" And Left(kr, 3) "50" And Left(kr, 3) "" Then
kreditkartentyp = "kh"
Else
kreditkartentyp = " nicht gültig"
End If
End Function
|