Anzeige
Archiv - Navigation
152to156
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
152to156
152to156
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfziffer

Prüfziffer
Ulrich

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Re: Prüfziffer (Korrektur)
03.09.2002 14:25:14
Ulrich
natürlich muss es im Archiv-Beitrag "Modulo" heißen...:-)
Re: Prüfziffer
03.09.2002 14:36:39
Martin Beck
Hallo Ulrich,

wenn es Dir nur um das "anhängen", nicht hingegen um die Berechung der Prüfziffer geht, analog zu folgender Ereignisprozedur:

Gruß
Martin Beck

NACHFRAGE Prüfziffer :-)
03.09.2002 15:03:11
Ulrich
Vielen herzlichen Dank, Martin!

Kannst Du mir jetzt doch auch noch die Berechnung zeigen? Randbedingung: für die theoretische Prüfziffer "10" soll "0" stehen.

Schon im voraus vielen Dank!

Re: NACHFRAGE Prüfziffer :-)
03.09.2002 15:08:21
Martin Beck
Hallo Ulrich,

leider nein. Ich dachte, da hättest Du schon die Lösung aus dem Archivthread?

Beschreibe doch mal anhand Deiner Aufgabenstellung (ohne Bezug auf den Archivthread) wie die Prüfziffer zu bilden ist und welchen Zweck sie erfüllt, villeicht läßt sich ja noch was machen.

Gruß
Martin Beck

Anzeige
Re: NACHFRAGE Prüfziffer :-)
03.09.2002 15:22:54
Ulrich
Hallo Martin,

die Aufgabenstellung im Archivtext beschreibt ziemlich exakt auch die meinige:

die Ziffern einer achtstelligen Zahl von rechts beginnend die erste mit 2, die zweite mit 3, die dritte mit 4 (usw. bis 9) multiplizieren,
die Ergebnisse summieren, danach Modulo 11 (Rest aus der Division durch 11) durchführen.
11 minus das o.g. Ergebnis liefert die Prüfziffer für die Zahl.
Diese ist hinten an die Zahl anzuhängen.

In meinem Fall soll für den Sonderfall des Ergebnises "10"
als Prüfziffer die "0" stehen.
Das Archiv-Ergebnis bezieht sich auf zwei Zellen (Eingabe und Ergebniszelle).

Was ich möchte, ist
1. die Zahl eingeben
2. die Prüfziffer dieser Zahl in dieser selbigen Zelle angehängt bekommen.

Ist das möglich? :-)

Gruß
Ulrich

Anzeige
Re: NACHFRAGE Prüfziffer :-)
03.09.2002 16:52:11
Martin Beck
Hallo Ulrich,

kann nicht als Prüfziffer auch die 11 vorkommen, z.B. bei 4100000?

Versuche mal folgende Ereignisprozedur:

Bei den Prüfziffern 10 und 11 wird die 0 bzw 1 angehängt.

Gruß
Martin Beck

Re: Prüfziffer Frage
04.09.2002 08:05:34
Georg
Hi,
geht es hierbei um die Prüfziffer ISBN/Verlag?
Gruß; Georg

Re: NACHFRAGE Prüfziffer :-)
04.09.2002 11:27:06
Ulrich
Hallo Martin,

nein, die 11 brauche ich nicht vorzusehen.

Ich habe allerdings Anfängerschwierigkeiten mit dem Einbinden und Deklarieren des Moduls z. B. exakt und nur auf Spalte 3 eines bestimmten Arbeitsblattes. Wie geht das?

Gruß
Ulrich

Re: NACHFRAGE Prüfziffer :-)
04.09.2002 12:25:25
Martin Beck
Hallo Ulrich,

1. Wieso brauchst Du die 11 nicht vorzusehen, Sie kommt doch als Ergebnis vor, z.B. bei 41000000?

2. Beschränkung auf Spalte C:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 3 Then

'bisheriger Code

End If
End Sub


3. Code einfügen wie folgt:
Mit der rechten Maustaste auf das Tabellenregister klicken, "Code anzeigen" anwählen und den Code in das sich öffnende Fenster kopieren.

Gruß
Martin Beck

Anzeige
Re: NACHFRAGE Prüfziffer :-)
04.09.2002 14:43:38
Ulrich
Hallo Martin,

erstmal herzlichen Dank, es scheint hervorragend zu funktionieren! Genialer Code!!:-)

1. ich hatte mich geirrt: bei Ergebnis "11" soll 0 resultieren und Ergebnis 10 eine Fehlermeldung erscheinen.
2. Wie kann ich die Prüfziffer nach einem Frontslash "/" anhängen?

Das wird's dann aber gewesen sein - versprochen ;-)

Viele Grüße
Ulrich

und doch noch ne Frage
04.09.2002 14:50:39
Ulrich
in welchem Teil des Codes steckt genau die Multiplikation der Ziffern drin (Faktoren von 2 bis 9)?

Gruß
Ulrich

Re: NACHFRAGE Prüfziffer :-)
04.09.2002 14:53:12
Martin Beck
Hallo Ulrich,

folgender geänderter Code:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 3 Then
If Len(Target) <> 8 Or Not IsNumeric(Target) Then
MsgBox "Keine 8stellige Zahl"
Exit Sub
End If

summe = 0
For i = 1 To 8
summe = summe + Mid(Target, i, 1) * (i + 1)
Next i

PZ = 11 - (summe - Int(summe / 11) * 11)
Application.EnableEvents = False

Select Case PZ
Case Is = 10
MsgBox "Fehler: Prüfziffer ist 10!"
Exit Sub
Case Is = 11
PZ = 0
End Select

Target.Value = Target.Value & "/" & PZ
Application.EnableEvents = True
End If
End Sub

Gruß
Martin Beck

Anzeige
Re: und doch noch ne Frage
04.09.2002 14:56:22
Martin Beck
Hallo Ulrich,

summe = 0
For i = 1 To 8
summe = summe + Mid(Target, i, 1) * (i + 1)
Next i

Mit Mid(Target, i, 1) werden in der Schleife nacheinander die acht Ziffern angesprochen und mit der Zahl i+1 multipliziert. Die Einzelergebnisse werden in der Variablen "Summe" aufaddiert.

Gruß
Martin Beck

VIELEN DANK!!!
04.09.2002 15:51:11
Ulrich
Hallo Martin,

alles funktioniert einwandfrei! Vielen herzlichen Dank für Deine Mühe.

Grüße
Ulrich

Re: Prüfziffer Frage
04.09.2002 15:53:11
Ulrich
Nein, nicht ISBN, aber nach dem gleichen Schema :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige