Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Excel Logarithmus ist mir zu schwach

Forumthread: Excel Logarithmus ist mir zu schwach

Excel Logarithmus ist mir zu schwach
28.07.2025 11:14:21
mckater
Ich weiß auch nicht liebe Freude von Excel und Forum hier.

Der Logarithmus ist Schwachsinn was Excel da produziert.
7 Zahlen ausgeben und fast immer die gleichen Zahlen und keine spannende Veränderung.
Wie kann man das ändern...weil egal wie oft ich Schleifen oder Runs durchlaufen lasse....es werden nur gewisse Zahlen bevorzugt.
Für so was braucht man doch keinen Excel Run mit Zufallszahlen oder?
Mache ich das Spiel weiter im Code, macht er egal wie viele Runs ich durchführe den gleichen Mist.
Der Logarithmus von Excel ist einfach eine billige Sache meiner Meinung und man kann ihn nicht beeinflussen.

Jedes Mal ist für Excel die 8 so geil und ich warte auf die 2, aber die wird oder geht unter, weil der Logarithmus einen Fehler hat und kann ihn nicht beeinflussen.

Wollte ich nur mal sagen, weil ich schon alles getestet habe.
Wie der Logarithmus zustande kommt aus dem Hause Microsoft ist mir ein Rätsel....für mich sehr schwachsinnig das Modul noch frei zu geben für VBA CODE.

LG mckater
Anzeige

31
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 11:39:47
Yal
Hallo Mc,

wovon ist hier die Rede? von Logarithmus folgende Sinne? https://de.wikipedia.org/wiki/Logarithmus

Oder im allgemein um einen "Algorithmus"? https://de.wikipedia.org/wiki/Algorithmus

Oder um das Generieren von Zufallszahlen in VBA? https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/rnd-function

Ich habe weniger als 1 Minuten gebraucht, um diese 3 Seiten zu finden. Sie zu lesen hätte natürlich leicht länger gebraucht, aber ich erwarte, wenn jemand eine Frage stellt, dass er/sie selber geprüft hat (öffentliche Mittel gibt es genug) und dass er/sie sicherstellt, dass es genug Genauigkeit in der Frage gibt, dass die Helfer effektiv antworten können.

Bitte nacharbeiten und nochmal fragen, falls noch notwendig.

Unklar im 3ten Link: um Rnd() zu verwenden, muss man vorher der Zufallsgenerator mit Randomize() initialisieren. https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/randomize-statement

VG
Yal
Anzeige
Deine Aussage ist...
29.07.2025 12:30:10
Case
Moin, :-)

... so nicht präzise genug. ;-)

Es ist einfach von "Schwachsinn" zu reden - Fakt ist, dass hinter Randomize/Rnd ein Algorithmus steckt, der berechenbar ist. Niemand hat etwas anderes behauptet. ;-)
In der Regel ist der für sowas wie Lottozahlen ausreichend. Es sind sogenannte "Pseudozufallszahlen".

Wenn du da tiefer einsteigen willst, dann musst du dich mit Dingen wie "Hardware-Random-Generatoren" oder "Zufallsquellen im Beriebssystem" auseinandersetzen: ;-)
https://en.wikipedia.org/wiki/Hardware_random_number_generator
https://de.wikipedia.org/wiki//dev/random

Oder mit sowas: ;-)
https://www.random.org/
Da wird das "atmosphärische Rauschen" genommen um die Zahlen zu bilden (da kann man von Zufallszahlen reden). ;-)

Wenn die die Reihen der Zahlen sortiert ausgeben möchtest, solltest du nicht BubbleSort nehmen - das ist nur für kleine Bereiche gedacht. Nimm in dem Fall QuickSort - das geht deutlich schneller. ;-)

Testen kannst du das Ergebnis (die Gleichverteilung) dann mit dem "Chi-Quadrat-Test": ;-)
https://de.wikipedia.org/wiki/Chi-Quadrat-Test

Ob du Randomize, oder Randomize Timer nimmst ist eigentlich egal. Wenn du den optionalen Parameter weglässt, wird der Wert, den der Systemtimer zurückgibt, als neuer Wert verwendet. ;-)

Und ob du den Code auftrennst, oder nicht ist IMHO in dem Fall unerheblich. ;-)

Was stört dich denn an Rnd so sehr, dass du nicht zufrieden bist? ;-)

Servus
Case
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 00:14:49
mckater
Muss echt jetzt lachen über VBA Code Nummer 1
Weil wenn ich einen Run durchführe mit 1 bekomme ich die Zahlen 1,2,3,4,5,6,7
Obwohl doch die Regel war mit Randomize RND, Zahlen von 1 bis 45 bestimmen.
Irgendwas stimmt da nicht im Code.
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 15:18:56
GerdL
Deine eigentliche Fragestellung ist systemunabhängig u. ganz lapidar:
Welche Zahlen u. Superzahl werden bei der nächsten Ziehung gezogen? :-)
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 15:47:57
Yal
Ich glaube leider nicht, dass es hier um eine Fragestellung geht, sondern um die Suche nach Verbündete, die auch bereit sind, Excel schlecht zu reden (oder die ganze Welt?)

Sowohl an der Mangel an Sachlichkeit, kaum gegebenen Fakten (nur an Ende ist die Rede von Zahlen, die nicht vorkommen), die nicht nachvollziehbar sind (unsere Prüfung zeigen alle andere Ergebnisse), als auch sehr unpräzise Aussage ("mein Code": welcher Code?, "Code Nr 1": was ist für dich Code Nr 1?) und auch Umdeutung von Aussagen (Marc hat nie gesagt, dass Excel eine Baustelle ist, sondern dass Zufallszahlen in der Informatik ein ungelöste Problem ist), zeigt eindeutig, dass es sich hier nicht darum geht, Hilfe zu bekommen.

Fügt man dazu die Fantasien über Quanten-Computing (fundiertes Wissen über ein Thema sieht anders aus), bin ich auch bei Edgars Meinung und ziehe mich auch zurück.

VG
Yal
Anzeige
Du hast den...
30.07.2025 16:04:04
Case
Moin Gerd, :-)

... Nagel auf den Kopf getroffen, Gerd. ;-)

Das Problem - ich habe die Zahlen. Jetzt weiß ich nicht - soll ich sie posten? ;-) ;-)

Servus
Case
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 07:54:42
RPP63
Könnte es sein, dass etwas mit Deinen Augen nicht stimmt?
In Zeile 1 stehen die Überschriften …
 ABCDEFGH
1Zahl1234567
21561724272840


Der einzige "Fehler" besteht darin, dass der jeweilige 7er-Block sortiert wird.
Du wirst den Code sicherlich selbst ändern können …

Ich hingegen bevorzuge meine simple Formellösung (Ziehung 7 ist die Zusatzzahl ZZ):
 ABCDEFGH
1Zahl123456ZZ
211326934361745
321422334381042
4312834752227
54635331214115

ZelleFormel
B2=ÜBERNEHMEN(SORTIERENNACH(SEQUENZ(;45);ZUFALLSMATRIX(;45));;7)
B3=ÜBERNEHMEN(SORTIERENNACH(SEQUENZ(;45);ZUFALLSMATRIX(;45));;7)
B4=ÜBERNEHMEN(SORTIERENNACH(SEQUENZ(;45);ZUFALLSMATRIX(;45));;7)
B5=ÜBERNEHMEN(SORTIERENNACH(SEQUENZ(;45);ZUFALLSMATRIX(;45));;7)

Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 11:06:43
mckater
Mein Fazit nacht Überprüfung mit sehr vielen Runs und beiden Codes, was ich gleich angewendet habe.

Marc hat natürlich Recht, eine Bausstelle in Excel!

Es ist egal, welchen Code ich verwende!
Es kommen im Endergebnis die Besten Zahlen zwischen, sagen wir mal 3 bis max. 29 raus.
Im Grunde sagen mir die Codes immer nur Zahlen von 3 bis max. 18 raus als Endergebnis.
Die Zahlen über 30 bis 45 erscheinen NIE.....(schon, aber gehen unter nach jeden Durchlauf.)
Darum sage ich das Excel da wie Marc sagt einen Patschn hat.....
Ich könnte natürlich das 1000mal auf alle möglichen Zeilen machen lassen.....in Excel 2019 liegen wir da bei 1048575 Zeilen.
Egal wie oft man das macht....das Ergebnis ist erschreckend, weil das Endergebnis nie eine 30 in der Auswertung hat, geschweige denn eine über 40.

Ich denke nicht das Excel da Schuld hat, aber der Randomize wie der Randomize Timer sind für nichts zu gebrauchen.

Natürlich bekommt man Zahlen zwischen 1 und 45 im Treffer,...aber in der Realität der Auswertung finden sich nur Zahlen zwischen 1 bis max. 22 oder so.
Es ist vielleicht bewusst, dass Excel das nicht will vom RND und ich muss sagen...es ist ein Blödsinn dieses Tool zu verwenden.
Marc hat es richtig gesagt, Bausstelle, aber eine sehr große und müsste mich schämen wenn ich den Schwachsinn programmiert hätte.

Wie gesagt, ich könnte Tag und Nacht Durchläufe machen mit allen Zeilen....Endergebnis würde nie über 30 oder an die 40 gehen.

Sorry für meinen Frust, weil ich dachte mir Excel hat mehr drauf.

LG mckater
Anzeige
Von welcher...
30.07.2025 11:43:19
Case
Moin, :-)

... Baustelle redest du? Hast du eine direkt an der Straße bei dir? ;-)

Die Datei habe ich gestern früh schon schnell gemacht - mit Häufigkeit der einzelnen Zahlen. Bewusst ohne Formeln - bei 100.000 dauert es auf meinem PC ca. 1 Sekunde. 8 Sekunden bei 500.000. Die einzelnen Zahlenreihen sind sortiert. Und die Auswertung (in J:K) ist nach Häufigkeit sortiert. ;-)
https://www.herber.de/bbs/user/178260.xlsb

Ich sehe da also keine Baustelle. ;-)

Servus
Case
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 12:17:29
BoskoBiati
Hi,

ich weiß nicht, was Du treibst, aber sowohl meine Datei mit einer Formel als auch der nachfolgende Code bringen vernünftige Ergebnisse:

Sub Zufallszahlen_rekombination()

Dim Zahl1 As Variant
Dim Zahl2 As Variant
Dim loA As Long
Dim zz As Variant
Worksheets("Tabelle1").Cells.Clear

Untergrenze = 1
Obergrenze = 45
Worksheets("Tabelle1").Activate
For loA = 1 To 1000
For i = 1 To 7
Randomize
zz = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
flag = True
'Prüfe ob in Tabelle "A" ist
For ii = 1 To 45
If Sheets("Tabelle2").Cells(loA, ii) = zz Then
'bereits in Tabelle "A" vorhanden
flag = False
End If
Next ii
'Prüfe ob in Tabelle "B" ist
For ii = 1 To ii
If Sheets("Tabelle1").Cells(loA, ii) = zz Then
'bereits in Tabelle "B" vorhanden
flag = False
End If
Next ii
' vorhandaen?
If flag Then
'wegschreiben
Sheets("Tabelle1").Cells(loA, i) = zz
Else
'schleife eins zurück, da zz schon vorhanden
i = i - 1
End If
Next i
Range(Cells(loA, 1), Cells(loA, 6)).Sort key1:=Cells(loA, 1), order1:=xlAscending, Header:=xlNo
Next
Cells(1, 10) = "Zahlen"
Cells(1, 11) = "Häuf. Zieh."
Cells(1, 12) = "Häuf. Zus."
For loA = 1 To 45
Cells(loA + 1, 10) = loA
Cells(loA + 1, 11) = WorksheetFunction.CountIf(Range("A1:F1000"), loA)
Cells(loA + 1, 12) = WorksheetFunction.CountIf(Range("G1:G1000"), loA)
Next

End Sub


Ist ein Code aus dem Forum, von mir etwas abgewandelt. Du brauchst dazu eine Datei mit Tabelle1 und Tabelle2. Es werden 1000 Ziehungen mit 7 Zahlen simuliert. Danach werden die einzelnen Zahlen mit der Häufigkeit ihrer Ziehungen aufgelistet, sowohl die 6Zahlen als auch die Zusatzzahl. Statistisch müsste jede Zahl ca. 133 bzw. 22 mal gezogen werden, was auch so abgebildet wird!

Gruß

Edgar
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 13:04:47
mckater
Ich muss mir natürlich auch deinen Code ansehen und in einbinden und wenn der mir wieder so Zahlen gibt wie von 1 bis 28 ....mal schauen.
Die KI wird ja gefüttert von Menschen Hand oder?
Aber die KI ist derzeit schon auch wieder veraltet.....
Warum? Weil die Quanten.....XXX bald mal die KI überholt.
Informationen aus Inforfationen und die KI ist nur gefüttert was der Eingeber sagt.
Die andere Art bald ist die Quantentechnologie, weil die ist gefüttert und wertet es im fast Periodensystem der Elemente aus.

Im Grunde ganz einfach: Ki würd gefüttert mit den Daten oder menschlichen Dingen....wertet es aus und es kommt ein Google Ergebnis.

Quante ist ganz anders, es differenziert alles, weil es so komplex ist, und kommt zu dem Ziel.....Excel hat noch viel zu tun....leider unmöglich, weil die Daten für so ein Projekt in Excel nicht ausgeführt werden können.
Die Besten Excel Codes in VBA sind einfach geil aber sinnlos.
Darum gibt es ja die JAVA Sprache, die sich nicht richtet nach den Gesetzen der Excel Gemeinschaft.

Darum glaube ich, das Ziel ist der Weg und führt nicht über Excel, so leid es mir tut....es ist blöd programiert
0 und1 und wir sind noch weit entfernt, weil das System einfach schwach ist.
Ja und Nein ist blöd....es braucht die Quantenphysik, weil Excel ist nur was für Anwender der generellen Klasse, aber nicht für was höheres.
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 13:07:14
mckater
Der Beste Code in Excel bringt dir nur einen Mist an Auswertung
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 15:24:21
daniel
Hi

das folgende Makro liefert dir alle Zufallszahlen, die RND zu biegen hat (Ablage in Spalte A-P)

Sub test()

Dim x As Single
Dim Erg() As Single
Dim z As Long
Dim s As Long
Dim zMax As Long

zMax = 2 ^ 20
ReDim Erg(1 To zMax, 1 To 1)
z = 0
s = 1
Application.StatusBar = "Spalte: " & s
Do
x = Rnd
If x = Erg(1, 1) Then Exit Do
z = z + 1
If z > zMax Then
z = 1
s = s + 1
Application.StatusBar = "Spalte: " & s
ReDim Preserve Erg(1 To zMax, 1 To s)
End If
Erg(z, s) = x

Loop

Cells(1, 1).Resize(UBound(Erg, 1), UBound(Erg, 2)) = Erg
Application.StatusBar = False
End Sub


die Liste wird einfach der Reihe nach ausgegeben und Randomize definiert den Einsprungpunkt

du kannst gerne prüfen, wie gut die Werte verteilt sind, (hierbei hilft die Funktion HÄUFIGKEIT)
ich habe auf die schnelle keine Auffälligkeit gefunden.
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 13:26:50
BoskoBiati
Hi,

ich glaube, der Thread gleitet so langsam in eine ganze Menge verschwurbeltem Bullshit ab. Mehr will ich dazu jetzt nicht mehr sagen.
Werde glücklich mit Deinem Pseudowissen und siehe zu, wo Du Deine Zufallszahlen herbekommst. Vielleicht kaufst Du Dir besser eine Ziehungsmaschine und ziehst 1000mal die Zahlen.
Und Tschüss.


Gruß

Edgar

Anzeige
AW: Excel Logarithmus ist mir zu schwach
01.08.2025 14:29:10
Peter B.
ich kriege eine Krause bei deinen Kommentaren, bist du ein Bot oder ein Echter Mensch?


Du hast keine ahnung von VBA ergo auch keine Ahnung von Programmierung. Dann von Schwachsinn zu reden ist deppert.
Dir kann man nicht helfen weil du mit einem "DIe anderen sind schuld" gedankengang durch die Welt spazierst.

Leute wie du sind das letzte.
Du hast nichts auf foren zu suchen wenn du den leuten nicht zuhören willst
Anzeige
AW: Excel Logarithmus ist mir zu schwach
30.07.2025 18:42:30
Oberschlumpf
Moin Edgar

ich stimme dir voll zu!
Und...ich hatte ja schon viel früher die Flinte - nee, nich auf mckater geworfen, weil, dann hätte er mir vllt noch mit "Anzeige wegen Körperverletzung im Forum" gedroht^^ :-) - ...ich hab die Flinte nur ins Korn geworfen, weil, mckater wiederholt sich immer wieder mit "immer sind die Anderen schuld" :-)

Ciao
Thorsten
Anzeige
AW: Deine Aussage ist...
29.07.2025 12:46:58
Yal
Eigentlich sehe ich auch nicht, wo das Problem liegt.

Würfelt man 6 Mio-Mal wird die Verteilung der Zahlen 1 bis 6 annähernd 1 Mio pro Zahl, aber nie genau. Kann sogar weit daneben sein.
Würfel man aber nur 6 mal könnte 6 Sechser dabei rauskommen. So ist es nun mal Stochastik.
(siehe meinen Testcode in https://www.herber.de/forum/archiv/2016to2020/2016502_Excel_Logarithmus_ist_mir_zu_schwach.html#2016519 )

Nun zu meckern, dass Excel eine Baustelle wäre... angesichts der Historie von Excel (40te Jubiläum dieses Jahr) und die Anzahl an Leute, die in dieser Zeit jede Fehler bereits gemeldet haben, scheint es mir eine sehr einseitige Meinung zu sein.

Also zu der Frage von @mckater: nein, es gibt leider keinen VBA-Code, der ein "besseren" Ergebnis liefern kann (wie auch immer "besser" definiert werden soll. Wissenschaftlich hat es keinen Halt)

Ein "bessere" Zufallsgenerator wird übrigens die Wahrscheinlichkeit Lotto zu gewinnen um 0% erhöhen (Leider).

VG
Yal
Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 12:01:03
mckater
Lieber Yal,

wie Zahlen fallen ist Zufall und basiert auf Statistik.
Wenn ich 45 Kugeln habe, will ich auch anständige Ergebnisse, die nicht abgefälscht sind, also nutzen mir die diese Seiten nichts.
Aber wenn ich merke wie die Zahlen im gleichen Muster vorkommen....mache ich mir Sorgen.
Die Klugheit schnell zu Googln und suchen ist super....aber man braucht auch das Verständnis dafür oder?
Was ist z.B. falsch an dem Code im Anhang?

https://www.herber.de/bbs/user/178245.xlsm

LG mckater
Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 13:03:01
Yal
Hallo mc,

ja, Du hast recht: um "anständige Ergebnisse" zu bekommen, helfen diese Seite nicht. Dafür ist der Programmierer zuständig. Also Du.

Dass Excel eine zufällige Verteilung von Zahlen versäumt, wäre sicher in den letzten 40 Jahren von Excel bereits entdeckt. Du bist nicht der erster, der sich damit auseinander setzt.

Folgende Code zeigt, dass aus 10.000 Ziehungen von Zahlen zwischen 1 und 45 ein relativ ausgeglichene Verteilung entsteht:

Sub Test()

Dim i, k
Dim dic

Randomize
Set dic = CreateObject("Scripting.Dictionary")
'Würfeln
For i = 1 To 10000
k = Int(Rnd() * 45) + 1
dic(CStr(k)) = dic(CStr(k)) + 1
Next
'Ergebnisse ablegen
With Worksheets.Add
.Range("A1:B1") = Array("Zahl", "Häufigkeit")
For Each i In dic.keys
.Range("A999").End(xlUp).Range("A2:B2") = Array(i, dic(i))
Next
.ListObjects.Add xlSrcRange, .Range("$A$1").CurrentRegion
End With
End Sub


VG
Yal
Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 13:31:29
BoskoBiati
Hi,

das Problem ist, wie so oft ca. 50cm vor dem Bildschirm!

Das fängt schon mit Excel gut an:

Wer in Excel gut ist, der sollte wissen dass "1" keine Zahl ist, sondern ein Text!
Wenn eine Formel so lautet:
=ZÄHLENWENN($O:$U;"1")

und die Spalten O:U leer sind, dann kann es keinen Wert >0 geben!
Richtigerweise müsste die Formel so lauten:

=ZÄHLENWENN(Tabelle1!A:.G;ZEILE(A1))

oder
=ZÄHLENWENN(Tabelle1!A:.G;ZEILE(1:45))


Wie Yal schon schrieb, mit Randomize muß die Generierung von Zufallszahlen erst initialisiert werden, das fehlt in Deinem Code.

Gruß

Edgar
Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 14:36:33
BoskoBiati
Hi,

das ist selbst mit einer Formel, hier in Verbindung mit VBA, so einfach zu lösen:

https://www.herber.de/bbs/user/178247.xlsm

Bei Eingabe von 1.000.000 braucht der Code etwas länger.

Gruß

Edgar



Anzeige
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 15:00:30
Yal
Moin,

ich würde die Gestaltungsaufgaben und die Ziehung auseinander trennen. Es macht die Sache übersichtlicher:

Public Sub StartLotto()

Dim AnzahlZiehungen As Long
Dim i As Long

'Init
AnzahlZiehungen = Application.InputBox("Anzahl der Ziehungen?", "Lotto Ziehungen", 50, Type:=1)
If AnzahlZiehungen = 0 Then Exit Sub
'Vorbereitung
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("Rohdaten")
.Cells.Clear
.Range("A1:H1") = Array("Zahl", 1, 2, 3, 4, 5, 6, 7)
.Range("A1:H1").Font.Bold = True
.Range("A1:A" & AnzahlZiehungen + 1).Font.Bold = True
With .Range("B2:H" & AnzahlZiehungen + 1)
.Font.Italic = True
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
End With
'Durchlauf
For i = 1 To AnzahlZiehungen
.Cells(i + 1, "A") = i
.Cells(i + 1, "B").Resize(1, 7) = Ziehen
Next
.Columns("A:H").AutoFit
End With
Application.ScreenUpdating = True
End Sub

Private Function Ziehen()
Dim bereitsGezogen As String
Dim i As Long, j
Dim Zufall As Long
Dim Erg(1 To 7) As Long 'Ergebnis-Array

'Generierung
bereitsGezogen = ";" 'darf nicht "" sein
Randomize
For i = 1 To 7
Do
Zufall = Int(45 * Rnd) + 1
Loop While InStr(1, bereitsGezogen, CStr(Zufall)) 'wenn schon vergeben, nochmal ziehen
Erg(i) = Zufall 'ablegen
bereitsGezogen = bereitsGezogen & Zufall & ";"
'Sortieren (nach BubbleSort)
For j = i To 2 Step -1
If Erg(j - 1) > Erg(j) Then
Erg(j) = Erg(j - 1)
Erg(j - 1) = Zufall
Else
Exit For
End If
Next
Next
'Ausgabe
Ziehen = Erg
End Function


VG
Yal
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 08:16:50
mckater
Ich muss mich natürlich auch schlau machen als nicht so guter VBA Coder.

Zu Yal: der erste Post, wo Sie gesagt haben, ich habe Radomize nicht initialisiert im Code?
Sehr wohl mit Randomize Timer und wird an dem Code Rnd übergeben.

Der Code von Yal war natürlich professionieller, weil da im Modul eine Public Sub vorliegt UND eine Private Funktion!
Dieser wurde in der Private Funktion mit Randomize initialsiert für den Code Rnd.
Dauert natürlich viel länger bei Abbarbeitung großer Zeilen bis auf das Ende von Excel.
Aber die Ergebnisse scheinen halt unterschiedlich zu sein, weil Randomize und Randomize Timer anders arbeiten.
Gut so....da kann man ja Vergleiche machen und anstellen.
Ich werde das auf alle Fälle testen bei gleichen Zahlenabläufen und schauen wo da der Unterschied ist.

Natürlich habe ich auch nicht verstanden, warum ich den Code getrennt halten soll??
Der führt den ersten durch, macht mir die Zahlen und mit den oder der Call Funktion rufe ich die anderen Module auf....will ja nicht 3mal auf den Button drücken.
Der arbeitet es eh hintereinander ab und fertig ist die Party für den ersten Run, je nach Eingabe vom User.
Die Module innerhalb von Excel sind ja getrennt voneinander, die er abzuarbeiten hat.

Der erste Code / Modul 1 generiert mir die Lottozahlen zwischen 1 und 45 in dem Tabellenblatt "Rohdaten" ganz brav und sauber.
Das Modul4 mit dem Code macht die Arbeit für das auswerten in die anderen Tabellenblätter, schaut sich z.B. je nach Dateneingabe der Zellen, Runs an, was sind die Besten 7 Zahlen und kopiert diese dementsprechend.

Das Modul5 macht bei mir nur Säuberung....weil viele Formatierungen nach einen sehr großen Run vorhanden sind....das macht die Excel Datei sehr groß im Tabellenblatt "Lotto-Run" wie auch in den Rohdaten....also lösche ich die bestimmten Spalten und anstatt gleich 44MB zu haben....ist die Exceldatei wieder auf mal 200kb.

Jedenfalls bin ich froh, dass es so gute Coder gibt, weil ohne Hilfe würde man da rumbasteln und könnte fast verrückt werden.

Warum Modul1, Modul4, Modul5....Excel hat die Angewohnheit, wenn mal ein Modul2 vorhanden war, erstellt er eine Modul3.
Ich denke, man kann einfach ein neues Excel erstellen wo man die Module dann eben hintereinander füllt in Reichenfolge.

LG aus den Ösiland
mckater
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 10:20:52
Oberschlumpf
Hi,

"...Warum Modul1, Modul4, Modul5....Excel hat die Angewohnheit, wenn mal ein Modul2 vorhanden war, erstellt er eine Modul3. ..."

Wenn du möchtest, könntest du den Namen vom neuen Modul3 auch in Modul2 umbenennen - da benötigt es keine neue Datei, in der du x viele Module "auf Vorrat" hinzufügst.

Ciao
Thorsten
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 10:55:57
Yal
Moin,

Genau gesehen hat Edgar (BoskoBiati) das Fehlen von Randomize angezettelt. Ich musste stark sein und mein Besserwisser-Neigung bremsen, um nicht diese Ungenauigkeit anzumerken :-)
@mc: achte auch auf deine Genauigkeit, sonst machst Du deinen Helfer wahnsinnig ;-)

Warum man trennen müsste:
Müssen tut niemand. Alles, was wir hier aufstellen sind nur Vorschläge.
Trennung dient die Übersichtlichkeit.

Public oder private ist zuerst zweitrangig. Im Zweifel weglassen, ist dann per Default Public.

"Dauert viel länger"? Solang es dein Feierabend nicht gefährdet, gehe auf die Strategie "einfacher ist besser".
Der Lauf, der das ganze Blatt füllt, wird höchstens einmal am Tag gefragt. Oder?

"Randomize und Randomize Timer anders arbeiten":
Bei der Erzeugung von Zufallszahlen wird es höchst schwierig eine bedeutende Unterschied vorzuzeigen. (Siehe Anmerkung von Marc)

Der Rest des Codes habe ich nicht angeschaut, weil die Frage auf die Erzeugung der Zahlen gerichtet war.

VG
Yal

Anzeige
Korrektur meiner Korrektur
29.07.2025 11:09:59
Yal
ich bin doch derjenige der "Randomize" eingebracht habe,

aber... Ich habe nur angemerkt, dass man randomize verwenden muss, nicht dass es fehlt. Ich hatte zu diesem Zeitpunkt gar keine Code gesehen.

VG
Yal
AW: Excel Logarithmus ist mir zu schwach
28.07.2025 15:21:25
Marc
Leider gibt es aktuell in der Informatik noch keine Zufallszahlen.
Auch Random etc. erstellen Zahlen nach bestimmten Schemata und sind, wenn man den Algorithmus kennt vorhersagbar.
wirkliche Randomzahlen in der Informatik sind eine der großen Baustellen
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 11:14:31
mckater
Ich finde die Aussage von Marc genau passend!
Er hat RECHT mit der Aussage wie der Code funktioniert in Excel....
Es ist einfach zu schlecht gemacht, nicht ausgereift und warum auch immer.

Ich gebe ihm Recht, weil weder Randomize wie Randomize Time führt dich zum Ziel.
Die Aussagen, ich habe die nicht Intinaliziert ist eine Lüge!
Die sind im Code, aber egal, Marc hat Recht.....Excel ist bei RND zu schwach drauf, eine Baustelle.
Der RND in Excel mit Randomize oder Randomize Time ist eine Bausstelle, wie er gesagt hat.
Also könnt ihr einen Code schreiben und nützt nichts, wenn man nicht auf den Code eingreifen kann.
Da hat Marc genau RECHT....ist meine Meinung.
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 21:47:10
mckater
Ich finde es jedenfalls sehr gut, dass man hier so schnell Hilfe bekommt mit unterschiedlichen Meinungen!

Hintergrund oder Idee entstand natürlich eine Annäherung an eine optimale Zahlenkombination zu bekommen mit vielen Runs im VBA CODE.
Egal ob Randomize oder Randomize Timer.
Ich werde das mit gleichen Testruns durchlaufen lassen in beiden VBA Codes.

Mir ist halt aufgefallen wie sehr der VBA Code immer gewisse Zahlen mag und gewisse gar nicht.
Zudem ist mir auch klar, dass es kein Mittel ist um einen Lottogewinn erzwingen zu können.
Es soll einfach eine Annäherung sein. (Sonst hätten wir ja immer einen Lottogewinn*gg*)

Das Österreichische Lotto gibt es ja nur mit 1 bis 45 Zahlen.
Der Sechser, also der Höchstgewinn wird aus den ersten 6 Zahlen definiert und die Zusatzzahl, also die 7.te Kugel ist nicht für den Sechser gebunden.
Aber wenn man 3, 4 oder 5 Zahlen hat in den ersten Zahlen, bekommt man mit der richtigen Zusatzzahl natürlich eine höhere Summe des Gewinns.

Das Österreichische Lotto gibt es seid 1986 und ich habe mir die Mühe gemacht, alle Zahlen, welche da gewonnen haben in eine Excel zu laden, je nach Jahr.
Zudem gibt es ja seid 2011 auch bei jeder Lottoziehung eine LottoPlus Ziehung.
Die LottoPlus Ziehung wird aus einem anderen Gerät durchgeführt. (Ergibt auch komische andere Zahlen)
Diese Daten liegen mir in Excel alle vor.
War natürlich eine lange Arbeit, aber mit VBA konnte man das sehr gut umsetzen, der mir aus dem Internet die Zahlen aufbereitet hat mit viel Zeitaufwand.

Fazit: Seid 1986 bis jetzt 2025 hat sich ja oftmals die Konstruktion der Ziehungsmaschine verändert. Von Kugel bis jetzt Trichter usw.
Wir wissen ja alle, dass jede Konstruktion ein anderes Verhalten zeigt und ist natürlich auch von der Temperatur und Luftfeuchtigkeit abhängig wie viele andere Einflüsse.
Also wäre es besser die Auswertung aus den aktuellen Gewinnen erst in den Jahren zu analysieren wo die Ziehungskonstruktion verwendet wurde.

Mir geht es jetzt nicht wirklich das System zu knacken!
Aber ich weiß welche Zahlen gut und schlecht sind....so kann man sich annähern und ein Tipp kostet ja EUR 1,50
Somit kann man jedenfalls auch mal Geld verdienen mit einem Dreier, Vierer usw.
Ich hatte mal einen Fünfer....da fehlt nur noch eine Zahl*gg*
Hatte damals aber mit JAVA gearbeitet und das ist ein Problem...weil Java sauschnell ist in der Textkonsole...aber diese rießige Datenmenge zu übertragen ist ein Horror mit kopieren und ins Excel zu bringen.(Zeit und Datenmenge)

Somit ist es immer gut, die Zahlen zu wählen die man für gut befindet, aber auch mit den schlechten.
Ist einfach erklärt,...am Besten immer so blöde Zahlen nehmen, da hat man derzeit die höchsten Treffer:-)

Ich finde die VBA Codes von EUCH super!
Funktionieren auch einwandfrei, der andere länger wie der andere....je nach RUNS von mir ausgewählt. Egal oder
Auswertung ist wichtig und Excel hat einen anderen Logarithmus wie JAVA und nur der Programmierer kann es beeinflußen mit sehr, sehr viel Wissen über das Thema.

LG
mckater
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 22:38:37
daniel
Hi

die Funktionsweise der RND-Funktion kannst du dir so vorstellen:
- Excel hat eine Liste von 2 Millionen festen Zahlen (ob die jetzt irgendwo fest einprogrammiert sind oder nach Schema berechnet werden, ist für das Verständnis nicht so wichtig)
- bei jedem RND-Aufruf wird immer die nächste Zahl von der Liste genommen und ausgegeben
- bei jedem Neustart von Excel wird die Liste von vorne durchgegangen.
- die Funktion RANDOMIZE bestimmt einen alternativen Einsprungpunkt.

dh nach jedem Neustart von Excel bekommst du immer wieder die selben Zahlenfolgen.

Wie jetzt die Excelfunktionen Zufallszahl und Zufallsbereich arbeiten, weiß ich leider nicht.
Anzeige
AW: Excel Logarithmus ist mir zu schwach
29.07.2025 22:39:45
daniel
16 Millionen Zufallszahlen (2^24)
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18