Office: (Office 2007) Erstellen einer Prüfsumme

Helfe beim Thema Erstellen einer Prüfsumme in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo MOF-Gemeinde, ich hab mir nen Wolf gesucht und bin immer nur auf das Falsche gestoßen. Ich suche eine Möglichkeit, aus den Werten einer Zeile... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Schmali, 18. September 2012.

  1. Erstellen einer Prüfsumme


    Hallo MOF-Gemeinde,

    ich hab mir nen Wolf gesucht und bin immer nur auf das Falsche gestoßen.

    Ich suche eine Möglichkeit, aus den Werten einer Zeile eine Art Prüfziffer oder -summe zu erstellen. Es handelt sich pro Zeile um 150 Felder und dabei um leere Zellen, Zahlen und/oder Buchstaben.

    Die User haben ein UserForm in dem sie die Daten eintragen bzw. ändern könnnen. Nun möchte ich nicht 12000 Zeilen mit je 150 Zellen Stück für Stück vergleichen, ob den der User was geändert hat, wenn er auf Speichern im UF klickt. Das würde bekanntermaßen ne halbe Ewigkeit dauern. Daher dachte ich an eine Prüfziffer die ich generiere und die ich mit der vorhandenen vergleiche und nur dann auch die Daten änder wenn die Ziffer abweicht.

    Ich hoffe ich konnte mein Anliegen einigermaßen verständlich unterbreiten und würde mich freuen, wenn mir hier jemand ein wenig helfen könnte. Prüfsummen für EANs und irgendwelche anderen Zahlen hab ich gefunden, aber hier geht es um Text und Zahl.

    Eine Spieldatei kann ich leider nich beilegen, da diese den Rahmen sprengen würde.

    Vorab schonmal vielen Dank für Grübeln

    Greetz

    Schmali

    :)
     
  2. Hallo Schmali,

    das Problem bei Prüfsummen ist ja, dass unterschiedliche Texte/Werte die gleiche Prüfsumme ergeben können. Ich habe mir beispielsweise überlegt, dass man ja einfach die ASCII-Werte der Buchstaben und Ziffern addieren könnte. Wenn ich dann aber an einer Stelle aus einer 1 eine 2 mache und an einer anderen Stelle aus einer 3 eine 2, dann gleicht sich das schon aus und ich habe trotz Änderung dieselbe Prüfsumme. Oder wenn ich den Inhalt einer Zelle in eine zuvor leere Zelle derselben Zeile verschiebe, erhalte ich mit diesem einfachen Verfahren auch dieselbe Prüfsumme. Um so etwas zu verhindern, könnte man die einzelnen Spalten mit unterschiedlichen Wertigkeiten rechnen, d.h. ich berechne zunächst pro Zelle meiner Zeile jeweils eine Prüfsumme, multipliziere diese mit der Wertigkeit der Spalte (1 für Spalte A, 2 für Spalte B, usw.) und addiere das Ganze dann über die ganze Zeile zusammen. Und genauso kann man innerhalb jeder Zelle mit unterschiedlichen Wertigkeiten für jede Zeichenposition rechnen.

    Aber selbst dann müsste man das wohl noch ausgiebig testen. Ich bin mir ganz und gar nicht sicher, ob da nicht noch ein weiterer Haken lauert, durch den gewöhnliche Änderungen mit zu hoher Wahrscheinlichkeit zur gleichen Prüfsumme führen.

    Google doch mal nach den Stichwörtern "Hashfunktion" und "Prüfsummenfunktion", vielleicht findest du da noch was besseres, was sich mit vernünftigem Aufwand in VBA umsetzen lässt.

    Gruß Ingolf
     
  3. Hoi Ingolf,

    vielen Dank erstmal für Deine Überlegungen. In dem vorliegendem Fall ist es ja so, das es sich um ein UserForm handelt, in dem ich alle Felder vorgeb (genauer handelt es sich um ein Artikelstammblatt in dem Maße, Beschreibungen und so hinterlegt werden). Ich denke, das es eher die Ausnahme sein dürfte, das zwei Buchstaben so geändert werden, das sie die gleiche Prüfsumme ergeben. Feldverschiebungen wird es gar nicht geben.

    Ich möchte ja letztlich nur die ganze Sache für den User beschleunigen, da durch den Speicherbutton im UserForm ne ganze Menge Code und eine Reihe von Abhängigkeitsprüfungen angeschmissen wird, die dann doch ein paar Sekunden (auf alten Kisten auch ein paar mehr) dauern.

    Ich hatte zwischenzeitlich die Idee, den Inhalt der kompletten Zeile mit ner Verketten-Variante in eine Zelle zu schreiben und beim Speichern daneben den Inhalt aller UserForms ebenfalls zu verketten und dann beide zu vergleichen. ABER: Das mag zwar nen einfacher Vergleich sein, jedoch bläh ich mir die Datei dadurch sowas von auf.

    Mir ist mittlerweile eine Funktion (natürlich eleganter als meine Variante) über den Weg gelaufen, die auch erstmal den Bereich verkettet und dann daraus eine Prüfziffer machen will/soll. Leider funzt sie nich so wie sie eigentlich sollte. Im Anhang mal was zu spielen *wink.gif* Der Code stammt nicht von mir und ich hab den unverändert übernommen. In Zelle E1 soll die Formel =CRC32(VerkettenBereich(A1:E4)) eine Prüfsumme ergeben. Leider tut sie das mit #BEZUG! quittieren.

    Vielleicht kommst Du ja hinter das Geheimnis der CRC-Funktion. Die VerkettenBereich-Funktion funzt noch.

    Greetz

    Schmali
     
  4. Erstellen einer Prüfsumme

    Hallo Schmali,

    in Zelle E1 ergibt die Formel einen Zirkelbezug, denn die Zelle liegt in dem zu verkettenden Bereich. In Zelle F1 dagegen funktioniert die Formel bei mir einwandfrei, zumindest unter Excel2003. Unter Excel2010 meckert er den Namen CRC32 an. Nach Änderung auf MyCRC32 funktioniert es aber dann auch unter Excel2010.

    By the way:

    Wenn ich dich richtig verstehe, sollen nur die Zeilen gespeichert werden, in denen mindestens 1 Änderung im Userformular vorgenommen wurde. Warum kennzeichnest du die betreffenden Zeilen nicht einfach zum Zeitpunkt der Änderung? Wenn du beispielsweise für jede Zelle einer Zeile eine Textbox auf dem Userformular hast und in einem Label ist die aktuelle Zeile angegeben, dann könntest du doch im Change-Ereignis der Zelle die Zeile aus dem Label auslesen und die Zeilennummer in ein Array schreiben. Beim Klick auf den Speicherbutton kannst du dann die zu speichernden Zeilen aus dem Array auslesen. Das erscheint mir wesentlich einfacher.

    Gruß Ingolf
     
  5. Hoi Ingolf,

    E1 war falsch von mir geschrieben. Auf die einfache Idee, das CRC einfach mal anders zu benennen bin ich natürlich nich gekommen *rolleyes.gif*

    Dein BTW ist gar nicht so BTW, denn eigentlich ist das der Schubser den ich gebraucht hab. Manchmal denkt man einfach zu kompliziert und mein Cheffe hat mich wahrscheinlich mit seinen Prüfsummen in seiner Wawi angesteckt.

    Du hast mich (mal wieder) auf den richtigen Weg gebracht.

    Herzlichen Dank.

    Greetz & kann somit zu

    Schmali

    P.S. Kann Dir leider keine Bewertung geben, da ich erst andere bewerten soll (was ist das denn für ne Funktion ^^).
     
Thema:

Erstellen einer Prüfsumme

Die Seite wird geladen...
  1. Erstellen einer Prüfsumme - Similar Threads - Erstellen Prüfsumme

  2. 2 Benutzerdefiniertes Inhaltsverzeichnis erstellen

    in Microsoft Word Hilfe
    2 Benutzerdefiniertes Inhaltsverzeichnis erstellen: Hallo zusammen Ich stehe gerade vor dem Wald und seh die Bäume nicht - oder besser gesagt, völlige Leere im Kopf. Ich arbeite mit Office 2021 und versuche ein 2 Benutzerdefiniertes...
  3. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  4. Erstellung eines Dynamischen Kalenders

    in Microsoft Excel Hilfe
    Erstellung eines Dynamischen Kalenders: Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  5. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  6. Rechnung erstellen

    in Microsoft Excel Hilfe
    Rechnung erstellen: Hallo zusammen, meine Mutter hat einen kleinen mobilen Friseursalon und braucht dafür eine Rechnung. ich habe die Rechnung soweit fertig. nur hätte ich gerne ein Dropdown für die Adresse (mehr...
  7. Wie kann ich eine solche Seite erstellen?

    in Microsoft Word Hilfe
    Wie kann ich eine solche Seite erstellen?: Hallo, da ich mich mit Word leider überhaupt nicht auskenne, hoffe ich, dass mir hier jemand helfen kann, wie ich solch eine Seite wie im Anhang erstellen kann. Ich habe schon vieles versucht,...
  8. Eigene Form in PowerPoint erstellen

    in Microsoft PowerPoint Hilfe
    Eigene Form in PowerPoint erstellen: Hallo zusammen, wie der Titel schon sagt, möchte ich in PowerPoint eine eigene Form für ein Flow Sheet erstellen. Dafür habe ich z.B. einen Kreis mit zwei innenliegenden Linien gezeichnet, wo...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden