Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zähler - Zufallsgenerator - F9

Zähler - Zufallsgenerator - F9
17.03.2004 17:41:56
Andreas
Hallo,
ich habe folgende 2 Probleme:
- gibt es eine Funktion/Programm mit dem ich die Anzahl der Neuberechnungen steuern kann? Z.B. möchte ich automatisch 10 Neuberechnungen durchführen lassen(statt bei manueller Berechnung 10 mal F9 zu drücken)
- die dann bei der Neuberechnung durch einen Zufalssgenerator erzeugten ausprägungen einer Variablen soll dann aufaddiert werden (Zähler für das Eintreffen der erwarteten Ausprägung
Konkret: Zelle A1 enthält bei jeder Neuberechnung den zufälligen Buchstaben A, B oder C. Nach 10 mal F9-drücken (bzw. falls mögl. 10 automatischen Neuberechnungen der Zufallsbuchstaben) soll anschliessend in A2 die Anzahl der Buchstaben "A", in A3 die Anzahl der Buchstaben "B" und in A4 die Anzahl aller "C" dieses Zufallsexperiments ausgegeben werden.
Danke & Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Zähler - Zufallsgenerator - F9
17.03.2004 18:07:06
Uwe
Hallo, Andreas!
Schalt den "Makro"-Aufzeichner an, tippe 10 Mal auf die Taste F9 und schalte den "Makro"-Aufzeicher wieder aus.
Wähle aus dem Menü: Extras Markro... und makiere das die aufzeichnung. gehe auf bearbeiten und Du siehst das Programm. Unter Optionen kannst Du nun noch ein Tasten-Kürzel (STRG+...) wählen.
Viel Erfolg, wobei ich allerdings meine, Zufall bleibt Zufall, so dass die 10 malige Berechnung vor einer Akzeptierung der Realisierung eigentlich das Ergebnis der statistische Auswertung nicht verändern dürfte.
Uwe
AW: Zähler - Zufallsgenerator - F9
17.03.2004 18:18:12
Andreas
Danke, hat funktioniert.
Gibt es für Problem 2 (Zähler) auch eine Lösung?
Danke & Grüße
Andreas
Anzeige
AW: Zähler - Zufallsgenerator - F9
17.03.2004 18:51:37
Uwe
Da hab ich wohl nicht recht zu Ende gelesen, Andreas,
denn sonst hätte ich Dir den Tipp gegeben, wenn Du nicht ganz auf eine VBA-Routine wechseln willst, in das Makro zu verändern.
Nach jedem Calculate, würde jeweils der Block

IF Cells(1,1).Value="A" THEN
Cells(2, 1)=Cells(2, 1)+1
ELSE
IF Cells(1,1).Value="B" THEN
Cells(3, 1)=Cells(3, 1)+1
ELSE
IF Cells(1,1).Value="C" THEN
Cells(4, 1)=Cells(4, 1)+1

wobei Du eine Zelle mit Cells(Zeile, Spalte) ansprichst. Du kannst die Sache noch codetechnisch zusammenziehen, wenn Du mit dem ASCII-Zeichenwert des Buchstabens rechnest, doch dieses erspare ich mir hier, da ich, nach Deiner Levelangabe damit rechne, dass Dir so der Einstieg ins VBA-Programmieren leichter fällt, denn mit nichts anderem beschäfigen wir uns hier, indem wir diese Änderungen vornehmen.
Nun wäre es unnötig viel Arbeit, wollte man hinter jedem Calculate diesen Block einfügen. Für diese Aufgaben sind u.a. FOR-Schleifen die geeigneten Programmiermittel.
Ersetze also den gesammten Code durch:

Dim i As Integer
For i = 2 To 4
Cells(i, 1) = 0
Next i
For i = 1 To 10
Calculate
If Cells(1, 1) = "A" Then
Cells(2, 1) = Cells(2, 1) + 1
Else
If Cells(1, 1) = "B" Then
Cells(3, 1) = Cells(4, 1) + 1
Else
If Cells(1, 1) = "C" Then
Cells(4, 1) = Cells(4, 1) + 1
End If
End If
End If
Next i

Die erste For-Schleife setzt den Inhalt der Zählzellen auf Null vor dem neuen Durchgang. Die zweite Schleife für 10 Mal den Befehl Calculate aus und wertet jeweils den Inhalt der Zelle A1 (Cells(1,1)) aus.
Zu beachten ist, dass mit jedem Eintrag eines Wertes in einen der Zellen A2 bis A4, das Ereignis Calculate ernaut ausgelöst wird, wenn die entsprechnende Optionseinstellung zum EXCEL-Programm auf "Automatisch berechnen" eingestellt ist, was jedoch für die Auswertung (zählen jedes zweiten Versuchs: 1,3,5,...,19), keine Rolle spielen sollte (gleichmäßig verteile Zufallszahlen).
Hoffentlich klappt's
Uwe
Anzeige
AW: Zähler - Zufallsgenerator - F9
17.03.2004 23:59:14
Uwe
Einleitend ein Hinweis auf einen Schrebfehler im Code des vorherigen Beitrages:
Unter der IF-Abfrage zu "B", wird auf der rechten Seite der Zuweisung in Cells auf die Zeile 4 verwiesen, wo es doch Zeile 3 handeln sollte:

...
Else
If Cells(1, 1) = "B" Then
Cells(3, 1) = Cells(3, 1) + 1
Else
...

Um jedoch nicht bei der Korrektur stehen zu bleiben, hier eine Umformulierung der Zuweisung, die dann eingesetzt werden kann, wenn immer in Zelle A1 entweder ein A, ein B oder ein C steht.

Sub Makro1()
Dim i As Integer
For i = 2 To 4
Cells(i, 1) = 0
Next i
For i = 1 To 10
Calculate
Cells(Asc(Cells(1, 1)) - 63, 1) = Cells(Asc(Cells(1, 1)) - 63, 1) + 1
Next i
End Sub

Hier wird der ASCII-Wert der Großbuchstaben dazu genutzt, um die Inkremierung in der zugehörigen Zeile vorzunehmen

A := 65, damit ergibt sich für den Zeilenzähler 65-63 = 2
B := 66, damit Zeile 66-63 = 3
C := 67, inkremiere in Zeile 67-63 = 4

Gruß,
Uwe
Anzeige
AW: Zähler - Zufallsgenerator - F9
18.03.2004 10:21:59
Andreas
Vielen Dank - hat geholfen!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige