Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Knifflig - Zufallszahlen registrieren

Knifflig - Zufallszahlen registrieren
15.12.2003 21:57:22
Gio
Hallo,
habe ein kniffliges Problem am Hals. Im pharmazeutischen Bereich muss immer 100% bewiesen werden, von wem was gemacht wurde.

Per Makro lasse ich eine Tablle automatisch auswerten. In einer bestimmten Zelle wird eine Zufallszahl eingetragen. Mit dieser Zahl wird eine zweite Zahl mit einem mathematischen Verfahren errechnet. Es ergibt sich quasi so etwas wie ein Zertifikat.

Will man jetzt wissen ob das Zertifikat echt ist, überprüft ein Tool mit der Eingabe der ersten Zahl (die Zufallzahl) die zweite Zahl (errechnete Zahl). Stimmt sie überein, ist die Auswertung echt.

Problem dabei ist, dass die erste Zahl die per Zufallsgenerator erzeugt wird (10-stellig, 1 Milliarde), nur einmalig vergeben werden darf. Natürlich ist es extrem unwahrscheinlich, dass jemand 1 Milliarde und eine Auswertungen durchführt. Jedoch kann es zufällig vorkommen, dass die erste Zahl doppelt vergeben werden kann.

Eine mögliche Lösung wäre, die Zufallszahl in einer nur dem Auswertemakro zugänglichen Exceldatei zu regisrieren. Würde das AuswerteMakro nochmals augerufen werden, würde es die neue Zufallzahl in der Registrierdatei suchen. Wäre sie schon einmal vorhanden, würde eine neue Zufallzahl generiert werden.

Meine Frage nun:
Ein eleganterer Weg wäre, die Zufallszahl im Programmcode zu registrieren. Bei jedem Lauf würde sich eine neue Zeile einfügen. Die Zeile könnten lauten:

Zufallzahl1 = 1234567890
Zufallzahl2 = 2345678910
Zufallzahl3 = 3456789105
usw.

Das Programm müsste somit in den eigenen vier Wänden suchen und nicht in einer externen Exceldatei.
Ist so etwas zu realisieren? Wichtige Info noch: Das Makro liegt als Add-In vor.

Grüße
Gio

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Knifflig - Zufallszahlen registrieren
15.12.2003 22:44:58
Nepumuk
Hallo Gio,
speichere die Zahlen in der Tabelle des AddIns. Du musst im Code die Tabelle mit ThisWorkbook.Worksheets(1)... ansprechen. Wenn du die Zahlen einsehen willst, gib in das Direktfenster einfach: Workbooks("DeinAddInName.xla").IsAddin=False ein. Zum ausblenden das ganze mit True.
Gruß
Nepumuk
AW: Knifflig - Zufallszahlen registrieren
16.12.2003 17:51:32
Gio
Hallo Nepumuk,
Deine Lösung hört sich gut und einfach an. Eine einfache Art, ein Archiv zu führen. Ich wusste noch gar nicht, dass man die Tabellen eines Add-Ins ansteuern kann.

Nochmals danke.
AW: Knifflig - Zufallszahlen registrieren
15.12.2003 23:16:23
Reinhard
Hi Gio,
nach mehrmaligem Aufruf von


Sub test()
'Dim CM As Codemodule klappt nicht, Codemodule ist unbekannt
Dim x As Long
Dim Nummer As Integer
Dim strNummer As String
Set CM = ThisWorkbook.VBProject.VBComponents("Modul1").Codemodule
With CM
x = Second(Now) * .countoflines * Minute(Now)
If Left(.Lines(6, 1), 6) <> "Set CM" Then
Nummer = Val(Mid(.Lines(6, 1), 4, 3) + 1)
strNummer = Right("000" & Format(Nummer), 3)
Else
strNummer = "001"
End If
.insertlines 6, "var" & strNummer & "=" & x
End With
'hier kann dann beliebiger Code stehen
End Sub


ergibt sich z.B. folgendes Bild:


Sub test()
'Dim CM As Codemodule klappt nicht, Codemodule ist unbekannt
Dim x As Long
Dim Nummer As Integer
Dim strNummer As String
var006 = 21112
var005 = 19950
var004 = 19152
var003 = 18354
var002 = 17556
var001 = 16464
Set CM = ThisWorkbook.VBProject.VBComponents("Modul1").Codemodule
With CM
x = Second(Now) * .countoflines * Minute(Now)
If Left(.Lines(6, 1), 6) <> "Set CM" Then
Nummer = Val(Mid(.Lines(6, 1), 4, 3) + 1)
strNummer = Right("000" & Format(Nummer), 3)
Else
strNummer = "001"
End If
.insertlines 6, "var" & strNummer & "=" & x
End With
'hier kann dann beliebiger Code stehen
End Sub


Gruß
Reinhard
Anzeige
interessanter Weg
16.12.2003 10:28:06
IngoG
Hallo Reinhard,

hab eben Deine Antwort gelesen und mir den Code mal runterkopiert.
die möglichkeit, den Code zur Laufzeit zu verändern kann man bestimmt mal irgendwie gebrauchen.

Gruß Ingo


AW: Knifflig - Zufallszahlen registrieren
16.12.2003 17:55:44
Gio
Hallo Reinhard,
jetzt habe ich die Qual der Wahl. Deine als auch die Lösung von Nepumuk hören sich machbar an. In jedem Fall ist Dein Code sehr nützlich um Code in vorhandenen Code zu schreiben. Ich vermute, dass Deine Lösung schnell sein wird.

Gruß
Gio

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige