Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Prüfziffer erstellen

Prüfziffer erstellen
25.07.2023 23:23:29
mumpel
Hallo!

Public Function AI(cZelle As String) As String
Select Case cZelle

Case "A"
AI = "10"
Case "B"
AI = "11"
Case "C"
AI = "12"
Case "D"
AI = "13"
Case "E"
AI = "14"
Case "F"
AI = "15"
Case "G"
AI = "16"
Case "H"
AI = "17"
Case "I"
AI = "18"
Case "J"
AI = "19"
Case "K"
AI = "20"
Case "L"
AI = "21"
Case "M"
AI = "22"
Case "N"
AI = "23"
Case "O"
AI = "24"
Case "P"
AI = "25"
Case "Q"
AI = "26"
Case "R"
AI = "27"
Case "S"
AI = "28"
Case "T"
AI = "29"
Case "U"
AI = "30"
Case "V"
AI = "31"
Case "W"
AI = "32"
Case "X"
AI = "33"
Case "Y"
AI = "34"
Case "Z"
AI = "35"
Case Else
AI = cZelle
End Select
End Function


=RECHTS((AI(TEIL(D5;1;1))*7)+(AI(TEIL(D5;2;1))*3)+(AI(TEIL(D5;3;1))*1)+(AI(TEIL(D5;4;1))*7)+(AI(TEIL(D5;5;1))*3)+(AI(TEIL(D5;6;1))*1)+(AI(TEIL(D5;7;1))*7)+(AI(TEIL(D5;8;1))*3)+(AI(TEIL(D5;9;1))*1);1)


Mit diesen Funktionen generiere ich eine Prüfziffer. Nun erscheint mir das nicht gerade elegant. Das geht doch sicher besser? Z.B. per Schleife. Nur kenne ich mich mit Schleifen nicht. aus. Den Anfang habe ich schon mal geschrieben. Die Zeichenlänge kann unterschiedlich sein (6, 7, 8, 10. Mindestlänge ist 6), daher "Optional lngLänge As Long = 6".

Public Function CreateCheckDigit(cZelle As String, Optional lngLänge As Long = 6) As String

Dim c1, c2, c3, lnGC, test

test = 645

' Zu tauschende Zeichen
c1 = Array(A, B, C, D, E, F, G, H, I, J, K, L, _
M, N, O, P, Q, R, S, T, U, V, W, X, _
Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

' Zeichen mit denen "c1" getauscht werden soll
c2 = Array(10, 11, 12, 13, 14, 15, 16, 17, 18, _
19, 20, 21, 22, 23, 24, 25, 26, 27, _
28, 29, 30, 31, 32, 33, 34, 35, 0, _
1, 2, 3, 4, 5, 6, 7, 8, 9)

' Erstes Zeichen mit 7 multiplizieren, zweites Zeichen mit 3, drittes Zeiche mit 1, _
ab dem nächsten Zeichen wieder von vorn.
c3 = Array(7, 3, 1)

For lnGC = 0 To UBound(c1)
CreateCheckDigit = CreateCheckDigit & "?" 'Right(test, 1)
Next lnGC

CreateCheckDigit = Right(test, 1)

End Function


Danke!

Gruß, René
Anzeige

52
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Danke an alle Helfer - Problem gelöst (owT)
27.07.2023 23:31:52
mumpel
AW: Prüfziffer erstellen
26.07.2023 09:50:16
daniel
Hi

hier mal deine Prüfziffernerstellung als Funktion mit Schleife:
der Text kann beliebig lang sein.
Function Prüfziffer(txt As String) As Long
Dim Summe As Long
Dim Faktor
Dim i As Long
Dim T As String

Faktor = Array(1, 7, 3)
Dim F As Long

For i = 1 To Len(txt)
F = Faktor(i Mod 3)
T = Mid(txt, i, 1)
If T Like "#" Then
Summe = Summe + CLng(T) * F
Else
Summe = Summe + (Asc(T) - Asc("A") + 10) * F
End If
Next

Prüfziffer = Summe Mod 10

End Function
Anzeige
AW: Prüfziffer erstellen
27.07.2023 09:48:52
mumpel
Danke! Aber die UDF rechnet leider falsch.
AW: Prüfziffer erstellen
27.07.2023 09:55:06
daniel
es steht dir frei, die UDF so umzugestalten, dass sie richtig rechnet.
AW: Prüfziffer erstellen
27.07.2023 10:00:43
mumpel
Das mache ich mal in der nächsten Nachtschicht. ;)
Anzeige
AW: Prüfziffer erstellen
27.07.2023 10:57:56
daniel
beziehungsweise, gegen welche von dir beschriebene Bildungregel verstößt denn meine UDF?
ist die Wertzuordnung zu den Zeichen falsch oder wurde die Anforderung, welche Werte mit 7, 3 und 1 zu multipliizieren sind, falsch umgesetzt?
AW: Prüfziffer erstellen
27.07.2023 13:20:06
mumpel
Nur Buchstaben dürfen durch Zahlen ersetzt werden. Die Zahlen müssen bleiben wie sie sind. Aber wie gesagt, ich probiere das am Sonntag mal selber. Sonst lerne ich Schleifen nie. ;)
Anzeige
AW: Prüfziffer erstellen
27.07.2023 13:42:33
Daniel
Hi
Ja genau das macht der Code doch: Summe = Summe + Clng(T)

Ziffern gehen mit ihrem Zahlenwert in die Summe ein.

Ich bin davon ausgegangen, dass die Faktoren 7, 3, 1 auch hier angewendet werden.

Gruß Daniel
AW: Prüfziffer erstellen
27.07.2023 16:00:12
mumpel
Ah jetzt hab ich verstanden. War irritiert, weil in Deinem Code im Array "1, 7, 3" steht, anstatt "7, 3, 1". Weshalb bei Dir eine andere Reihenfolge? Wie muss ich das richtig verstehen.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 16:11:34
daniel
naja, wenn dich das Array irrtiert hat, warum fragst du dann nicht gleich danach?
naja, ist ja auch einfacher erstmal ein "dein Code funktioniert nicht" rauszuhauen, obwohl du das warscheinlich nicht einmal ausprobiert hast.
Sorry, aber das ist einfach unhöflich und lässt mich drüber nachdenken, ob kostenlose Hilfe wirklich das richtige ist.
aber seis drum.
das prinzip ist einfach (Rest = Mod):
Rest(1;3) =1
Rest(2;3) = 2
RestI(3;3) =0
Rest(4;3) = 1
Rest(5;3) = 2
Rest(6;3) = 0

also die Rest-Funktion spuckt beim jedem dritten Element nicht 3, sondern 0 als Ergebnis aus.

das nächste was man wissen muss, dass in VBA bei Arrays normalerweise der erste Index immer der Index 0 ist und nicht 1.
Also mit
x = Array("a", "b", "c")
ist
x(0) = "a"
x(1) = "b"
x(2) ="c"
x(3) = Fehler!

damit sollte sich die Reihenfolge erklären.

und in Zukunft bitte erste prüfen, dann meckern.
Danke.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 20:23:45
mumpel
obwohl du das warscheinlich nicht einmal ausprobiert hast. obwohl du das warscheinlich nicht einmal ausprobiert hast. 

Doch, atte ich. Allerdings irriger Weise die Reihenfolge in "7, 3, 1" geändert.
AW: Prüfziffer erstellen
27.07.2023 20:48:42
daniel
dann hast du nicht meinen Code ausprobiert, sondern deinen und die Behauptung, der Code den ich geschrieben habe würde nicht funktionieren ist eine Lüge.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 21:34:56
mumpel
Sorry, mein Fehler!
AW: Prüfziffer erstellen
27.07.2023 22:54:13
Daniel
Naja, vorher hast du dir ja auch noch das andere ausgedacht.
Bedenke, das positives Feedback der einzige Lohn ist, den ihr Fragesteller den Helfern zukommen lasst.
Dann ist eine negative Rückmeldung, die dazu noch falsch ist, so als würdest du mir noch was wegnehmen.
"Sorry mein Fehler" ist mir da ein bisschen dünn.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 23:23:27
mumpel
Dann entschuldige bitte. Deine Funktion ist jedenfalls "schön klein". Gefällt mir. Eine "Danke-Funktion" gibt es hier ja (noch?) nicht.

Die Lösung von "onur" ist etwas umfangreicher. Dafür kann ich versuchen, sie so umzubauen, dass die Buchstaben keiner "Zahlenfolge" folgen müssen, sondern unterschiedliche Zahlen haben können (z.B. A =10, B=22, C=31). Falls ich sie mal für ein anderes Projekt brauche.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 23:46:36
Daniel
Wozu brauchst du eine Dankeschön-Funktion?
Mir ist das geschriebene Wort lieber als ein Daumen-Hoch-Klick.
Es sei denn, mit der Dankeschön-Funktion ist eine PayPal-Transaktion verknüpft.
AW: Prüfziffer erstellen
28.07.2023 00:18:34
mumpel
Man könnte mit der Danke-Funktion auch einen Text verknüpfen. ;)
AW: Prüfziffer erstellen
28.07.2023 00:27:01
Daniel
Unnötig.
Text kann man auch schreiben.
Bist du zu faul für ein "Danke, funktioniert wie gewünscht"?
Anzeige
AW: Prüfziffer erstellen
28.07.2023 00:38:01
mumpel
Hab ich ja gemacht. ;)
AW: Prüfziffer erstellen
28.07.2023 01:58:56
Daniel
Es wäre aber schön, wenn das gleich komnen würde, ohne das der tread so elendslang werden muss.
Es sollte von dir freiwillig kommen und nicht, weil ichves einfordere.

Ich frage mich immer noch, warum du nicht erwähnt hast, dass du meinen Code abgeändert hast, bevor du ihn getestet hast.
Anzeige
AW: Prüfziffer erstellen
27.07.2023 11:48:16
onur
Sie muss die Prüfziffer und Länderkennung in der Regel ignorieren. Das muss aber ausschaltbar sein.
AW: Prüfziffer erstellen
27.07.2023 12:13:44
daniel
das war keine Anforderung.
wenn man eine allgemeingültige Prüfzifferformel schreibt, dann regelt man das über den Text, den man der Funktion übergibt.
Gruß Daniel
AW: Prüfziffer erstellen
26.07.2023 10:10:21
daniel
oder ganz kompakt:

Function Prüfziffer(txt As String) As Long
Dim i As Long
For i = 1 To Len(txt)
Prüfziffer = Prüfziffer + InStr("123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", Mid(txt, i, 1)) * Array(1, 7, 3)(i Mod 3)
Next
Prüfziffer = Prüfziffer Mod 10
End Function


gruß Daniel
Anzeige
AW: Prüfziffer erstellen
25.07.2023 23:58:48
onur
   c1 = Array(A, B, C, D, E, F, G, H, I, J, K, L, _
M, N, O, P, Q, R, S, T, U, V, W, X, _
Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

kann schon mal nicht funktionieren, da die Buchstaben NICHT in Gänsefüsschen stehen.
AW: Prüfziffer erstellen
26.07.2023 00:13:07
onur
Ausserdem meinst du doch "Prüfsumme" und nicht "Prüfziffer" - oder ?
Anzeige
AW: Prüfziffer erstellen
26.07.2023 08:11:24
Fennek
Hallo René,

ohne alle Beiträge gelesen zu haben:

Der Ascii-Code von "A" ist 65, also ergibt

Asc("A") -55

die gesuchte 10, für "B" 11 usw.

mfg
AW: Prüfziffer erstellen
27.07.2023 16:13:05
mumpel
Das ist logisch. Nützt aber nichts wenn man keine Schleifen kann (Ich meine die in VBA, nicht die an den Schuhen. 🤣 Kleiner Scherz).
Anzeige
AW: Prüfziffer erstellen
26.07.2023 09:31:42
Charles
Hallo mumpel,
vielleicht hilft Dir ein kleines Programm, aber leider kann ich das hier nicht hochladen. Geht einfach nicht.
Wäre eine private Nachricht möglich? post4wa (at) yahoo.de
Gruß
AW: Prüfziffer erstellen
26.07.2023 11:30:08
mumpel
Danke! Aber es soll ja in Excel laufen. Damit ich nicht aus der Übung komme. ;)
AW: Prüfziffer erstellen
26.07.2023 00:28:37
onur
AI in deiner Funktion ist doch ein String. Wieso multplizierst du Strings mit Zahlen?
Anzeige
AW: Prüfziffer erstellen
26.07.2023 01:10:36
onur
In C4 soll man PA-Nummer eingeben? Da steht doch der Text "Ablaufdatum".
In C2 soll man Geburtsdatum eingeben? Da steht doch der Text "Art".
https://www.herber.de/bbs/user/162041.png" border="0" width="700" height="222" alt="Userbild">
Anzeige
AW: Prüfziffer erstellen
26.07.2023 01:26:03
mumpel
Der Erklärungstext ist älter als die Änderungen. Kennwort steht im VBA-Code. Wie immer ein kleines a. Ich arbeite im Moment daran. Aber seit ich am VBA-Code etwas geändert habe, schmiert mir Excel immer ab. Bin gerade am Notebook (Windows 11 22H2). Mal schauen was morgen mein Desktop-Rechner sagt (Auch Windows 11 22H2).

Die Änderung (Ergänzung) in der Tabellen-Ereignis-Prozedur:
 If Left(Range("D4"), 2)  Format(Now, "YY") Then
Range("D15").Value = "Der Personalausweis ist abgelaufen"
Range("D15").Font.Color = vbRed
Else
Range("D15").Value = "Personalausweis ist gültig"
Range("D15").Font.Color = vbGreen
End If


Jetzt wäre es schön, wenn es einen Lösungsvorschlag für meine Eingangsfrage gäbe. 😉
Anzeige
AW: Prüfziffer erstellen
26.07.2023 01:46:15
onur
Es wäre auch schön gewesen, wenn du die Datei nicht passwortgeschützt hättest!
Aber trotzdem - SO geht das:
Public Function CreateCheckDigit(txt As String) As Long
Dim le, i, co, pos, a, fa
le = Len(txt)
If Not IsNumeric(Right(txt, 1)) Then txt = Left(txt, le - 1): le = le - 1
txt = Left(txt, le - 1): le = le - 1
fa = 1
For i = 1 To le
fa = Int(fa / 2): If fa 1 Then fa = 7
a = Mid(txt, i, 1): co = Asc(a)
If (co >= 48 And co = 57) Then
co = co - 48
ElseIf (co >= 65 And co = 90) Then
co = co - 55
End If
CreateCheckDigit = CreateCheckDigit + fa * co
Next i
End Function

Anzeige
AW: Prüfziffer erstellen
26.07.2023 02:04:59
mumpel
Danke! Werde es mal ausgibig testen, auch mit der Userform.

Ein Problem habe ich, welches ich mir nicht erklären kann. Wenn ich z.B. in D14 etwas an der Formel ändere, wird nurnoch der Formeltext angezeigt. Passiert das bei Dir auch? Gibt es einen bekannten Bug? Oder weshalb macht Excel das? Nutze Microsoft 365, aktuelle Version.
Anzeige
AW: Prüfziffer erstellen
26.07.2023 02:14:16
onur
Wie bereits 2 mal gesagt: Ich kann nix in deiner Datei prüfen, da passwortgeschützt.....
AW: Prüfziffer erstellen
26.07.2023 02:24:27
mumpel
Ohne Kennwort: https://www.herber.de/bbs/user/162042.xlsm

Hinweis: Bei "Prüfcode" darf nichts abgeschnitten werden. Da werden alle Angaben inklusive Prüfziffern in die Berechnung eingezogen. Ich schau schon mal ob ich Deine Funktion nachvollziehen kann.
Anzeige
AW: Prüfziffer erstellen
26.07.2023 01:49:43
onur
Aber du wolltest ja nur die letzte Ziffer statt der Prüfsumme:
Public Function CreateCheckDigit(txt As String) As Long
Dim le, i, co, pos, a, fa As Integer
le = Len(txt)
If Not IsNumeric(Right(txt, 1)) Then txt = Left(txt, le - 1): le = le - 1
txt = Left(txt, le - 1): le = le - 1
fa = 1
For i = 1 To le
fa = Int(fa / 2): If fa 1 Then fa = 7
a = Mid(txt, i, 1): co = Asc(a)
If (co >= 48 And co = 57) Then
co = co - 48
ElseIf (co >= 65 And co = 90) Then
co = co - 55
End If
CreateCheckDigit = CreateCheckDigit + fa * co
Next i
CreateCheckDigit = CreateCheckDigit - (Int(CreateCheckDigit / 10)) * 10
End Function

Anzeige
AW: Prüfziffer erstellen
26.07.2023 02:14:05
mumpel
Danke! Aber das kann man ja auch mit "Rechts" abschneiden. ;)
AW: Prüfziffer erstellen
26.07.2023 02:21:23
onur
Und wie kommt jetzt die 437 zustande? Ich hab nämlich absolut keine Lust eine 617-Zeichen lange Formel zu analysieren.....
AW: Prüfziffer erstellen
26.07.2023 02:27:57
mumpel
Die entsteht aus PA-Nummer, Geburtsdatum, Ablaufdatum und Versionsnummer. Man fängt also beim ersten Zeichen der PA-Nummer an und hört beim letzen Zeichen der Versionsnummer auf. Die Prüfziffern werden mitgerechnet. Quasi das was bei "Prüfcode" steht.
Anzeige
AW: Prüfziffer erstellen
26.07.2023 03:11:22
onur
Aber DEINE Formel nimmt das "D" von "2010315D" NICHT mit.
AW: Prüfziffer erstellen
26.07.2023 04:05:38
mumpel
Ach ja, die Länderkennung lässt man weg. Rechnet aber trotzdem irgendwie falsch. Mit den Beispieldaten in der Beispieldatei kommt bei der Gesamtprüfsumme etwas anderes raus als mit meiner Formel. Nutze ich aber die Daten von meinem PA, rechnet die Funktion richtig. Das verstehe wer will. ;)
Anzeige
AW: Prüfziffer erstellen
26.07.2023 04:18:47
onur
Weil deine Formel zwar das Länderkürzel weglässt, aber im Prüfcode ist das "D" drin.
AW: Prüfziffer erstellen
26.07.2023 04:49:05
mumpel
Genau. Jetzt nicht mehr.

Aber mein Excel spinnt eh. Der Datumsvergleich stimmt nicht. Egal was ich eingebe. Excel meint immer, dass Ausgangsdatum sei größer als das Enddatum. Excel scheint mal wieder verbugt zu sein. Aber jetzt bereite ich erstmal den Feierabend vor. 05:30 kommt die Ablösung. Dann schlafe ich bis 12, dusche, und dann gehe ich Kindereisenbahn fahren (Wir vom Modellbahnclub sind auf dem Kinderfest mit unserer Kindereisenbahn). Hoffentlich ist die Wiese nicht zu naß, sonst fällt es ins Wasser.
Anzeige
AW: Prüfziffer erstellen
26.07.2023 03:22:28
onur
Deine Kilometer-Formel ist falsch und dein Change-Event-Makro verursacht Endlosschleife.
Ich habe meine Funktion erweitert (um Partameter "komplett"), so dass man sie jetzt auch für die Gesamtprüfung nehmen kann.
https://www.herber.de/bbs/user/162043.xlsm
Anzeige
AW: Prüfziffer erstellen
26.07.2023 04:07:21
mumpel
Das Event habe ich wieder zurückgebaut, und nutze dafür Formeln. Nur das Einfärben mache ich noch per Event, bis mir die bedingten Formatierungen gelingen.
AW: Prüfziffer erstellen
26.07.2023 02:12:23
mumpel
Bei "Prüfcode" rechnet er aber falsch. Da rechnet die Funktion 462 aus, richtig wäre aber 437.
AW: Prüfziffer erstellen
26.07.2023 00:57:02
onur
Zum Testen? Mit Passwort?
Anzeige
AW: Prüfziffer erstellen
26.07.2023 00:45:11
mumpel
Es funktioniert doch wie es soll.
AW: Prüfziffer erstellen
26.07.2023 01:01:17
onur
Aber nur, weil Excel manchmal auch extreme Fehler kompensiert (Manche würden "idiotensicher" dazu sagen). :)
AW: Prüfziffer erstellen
26.07.2023 00:21:42
mumpel
Na gut. Summe ist das Ergebnis. Prüfziffer passt aber, weil nur die letzte Ziffer der Summe gebraucht wird. Ich experimentiere gerade mit dem Personalausweis. Wenn Du auf die Rückseite in Zeile 2 des Maschinencodes schaust, siehst Du im ersten Block das invertierte Geburtsdatum, welchem eine 7 Ziffer folgt, das ist die Prüfziffer. Das selbe auch für PA-Nummer (erste Zeile, zweiter Block) und Ablaufdatum (zweite Zeile, zweiter Block).

An die Gänsefüßchen habe ich nicht gedacht. ;)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Prüfziffer in Excel erstellen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine Prüfziffer in Excel zu berechnen, kannst Du eine benutzerdefinierte Funktion (UDF) in VBA erstellen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Public Function Prüfziffer(txt As String) As Long
       Dim Summe As Long
       Dim Faktor
       Dim i As Long
       Dim T As String
    
       Faktor = Array(1, 7, 3)
    
       For i = 1 To Len(txt)
           T = Mid(txt, i, 1)
           If T Like "#" Then
               Summe = Summe + CLng(T) * Faktor(i Mod 3)
           Else
               Summe = Summe + (Asc(T) - Asc("A") + 10) * Faktor(i Mod 3)
           End If
       Next
    
       Prüfziffer = Summe Mod 10
    End Function
  4. Schließe den VBA-Editor und kehre zu Deinem Excel-Blatt zurück.

  5. Verwende die Funktion in einer Zelle, um die Prüfziffer zu berechnen, z.B. =Prüfziffer(A1), wobei A1 die Zelle ist, die Du analysieren möchtest.


Häufige Fehler und Lösungen

  • Personalausweis Prüfziffer falsch: Wenn die berechnete Prüfziffer nicht stimmt, überprüfe, ob die verwendeten Buchstaben oder Zahlen korrekt sind. Achte darauf, dass nur Buchstaben ersetzt werden und Zahlen unverändert bleiben.

  • Excel gibt nur Formeltext aus: Wenn Excel den Formeltext anzeigt, stelle sicher, dass die Zelle formatiert ist, um die Formel anzuzeigen, und nicht als Text formatiert ist.

  • Fehler bei der Eingabe: Stelle sicher, dass Du die Eingaben in der richtigen Form machst. Zum Beispiel, bei der Nutzung der Funktion =Prüfziffer(A1) sollte A1 einen gültigen Text enthalten.


Alternative Methoden

Es gibt verschiedene Ansätze, um eine Prüfziffer zu berechnen. Hier sind zwei alternative Methoden:

  1. ASCII-Werte verwenden: Du kannst die ASCII-Werte von Buchstaben nutzen, um die Prüfziffer zu erzeugen. Hierbei wird der ASCII-Wert der Buchstaben angepasst, um die Zuordnung zu den Zahlen zu ermöglichen.

    Public Function CreateCheckDigit(txt As String) As Long
        Dim Summe As Long
        Dim i As Long
        For i = 1 To Len(txt)
            Summe = Summe + Asc(UCase(Mid(txt, i, 1))) - 55 ' 65 für A, 66 für B etc.
        Next
        CreateCheckDigit = Summe Mod 10
    End Function
  2. Schleifenoptimierung: Verwende Schleifen, um den Code zu vereinfachen und die Lesbarkeit zu erhöhen. Dies ist besonders nützlich, wenn Du mit variablen Längen von Eingaben arbeitest.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die Funktion in verschiedenen Szenarien verwenden kannst:

  • Personalausweis Prüfziffer berechnen:

    =Prüfziffer("A123456")
  • Container Prüfziffer in Excel:

    =Prüfziffer("CONTAINER123")
  • Excel Länderkürzel Formel: Wenn Du mit Länderkürzeln arbeitest, kannst Du die Prüfziffer zusammen mit dem Länderkürzel berechnen.

    =Prüfziffer("D123456")

Tipps für Profis

  • Verwende Arrays: Bei der Berechnung kannst Du Arrays für die Faktoren nutzen, um die Lesbarkeit und Effizienz Deines Codes zu erhöhen.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinen Funktionen, um unerwartete Eingaben abzufangen.

  • Modularer Code: Halte Deinen VBA-Code modular, damit Du Funktionen einfacher testen und anpassen kannst.


FAQ: Häufige Fragen

1. Was ist eine Prüfziffer?
Eine Prüfziffer ist eine Ziffer, die zur Validierung von Identifikationsnummern verwendet wird, um sicherzustellen, dass die Nummer korrekt eingegeben wurde.

2. Wo steht die Prüfziffer im Personalausweis?
Die Prüfziffer befindet sich in der Regel auf der Rückseite des Personalausweises und wird verwendet, um die Integrität der anderen Daten zu überprüfen.

3. Wie kann ich die Prüfziffer berechnen?
Du kannst sie mithilfe von Excel und einer benutzerdefinierten VBA-Funktion berechnen, die Buchstaben und Zahlen entsprechend umwandelt und die richtige Prüfziffer ermittelt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige