567 Aufrufe
Gefragt in Tabellenkalkulation von rastermen Mitglied (496 Punkte)
Bearbeitet von rastermen

Hallo,

in Zelle "K6" wird eine Zufallszahl mit Taste "F9" von 1 bis 20 ausgegeben.

Die Zufallszahl wird in zwei anderen Zellen erzeugt und in Zelle K6 mit "=SUMME(L4:M4)" ausgegeben.

Ich möchte nun das ich in Zelle "N4" z.B.: die "Zahl 5" vorgebe und das ich dann die Taste "F9"  solange drücke bis die "Zahl 5" in Zelle "K6" erscheint und durch das Makro gestoppt wird.

Wie wird das Makro aktiviert? Geht das über einen Tastaturbefehl ?

habe schon Makros vor langer Zeit eingefügt, darum wenn möglich bitte um eine kurze Anleitung.

Ist das richtig: Alt+F11 -da ist das Tabellenblatt und dann unter "Einfügen" ein neues Modul und dort das Makro einfügen. da die Tabellen mit. "xlsb" gespeichert sind muss ich das dann als "Arbeitsmappe mit Makros" speichern?

Herzlichen Dank

Gruß

Rudolf

17 Antworten

0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)
Bearbeitet von rastermen
Guten Abend,

ich melde mich nochmals weil ich nicht  weiß  ob ich mich verständlich genug ausgedrückt habe?

Habe eine neuen Ansatz dazu:

Ist es möglich mir ein Makro zu schreiben das die Zahl in Zelle N4" mit der Zelle "K6" vergleicht und bei Übereinstimmung angehalten wird und mir das über eine Msg Box mit "Stop" anzeigt.

Sind Rückfragen dazu bitte melden.

Herzlichen Dank

Gruß

Rudolf
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Rudolf,

kopiere das folgende Makro in ein allgemeines Modul deiner Arbeitsmappe:

Sub zufallszahlen()
Dim lngZiel As Long
Dim lngSpalte As Long
Dim lngUntergrenze As Long
Dim lngObergrenze As Long

'untere Grenze der Zufallszahlen festlegen
lngUntergrenze = 1
'obere Grenze der Zufallszahlen festlegen
lngObergrenze = 20

'Zielwert aus Zelle N4 einlesen
lngZiel = Range("N4").Value

'Zielwert prüfen
If lngZiel < lngUntergrenze * 2 Or lngZiel > lngObergrenze * 2 Then
  'Fehlermeldung, falls Zielwerte ausserhalb der Grenzen liegen
  MsgBox "Der Zielwert muss zwischen " & lngUntergrenze * 2 & " und " & lngObergrenze * 2 & " liegen! Bitte geben Sie einen neuen Wert ein!", 16, "Ungültiger Zielwert"
  'Makro verlassen
  Exit Sub
End If

'Zufallswerte in Zellen L4 und M4 erzeugen
'Schleife bis Zielwert erreicht ist
Do
 'Werte für Spalte L und M ermitteln
 For lngSpalte = 12 To 13
  Randomize
  Cells(4, lngSpalte) = Int((lngObergrenze - lngUntergrenze + 1) * Rnd + lngUntergrenze)
 Next lngSpalte
Loop Until lngZiel = Range("L4").Value + Range("M4").Value

End Sub

Eine Anleitung, wie du das machst und wie du dem Makro eine Tastenkombination zuweisen kannst, findest du hier: Anleitung

Und ja, du musst die Arbeitsmappe als .xlsb speichern, damit die Makros in der Arbeitsmappe mit gespeichert werden.

Das Makro ermittelt wunschgemäß solange Zufallszahlen in den Zellen L4 und M4 bis dein Zielwert in N4 erreicht ist.

Gruß

M.O.

0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)

Hallo M.O.

herzlichen Dank für deine Mühe.

In deinem Makro wird die Zufallszahl von Dir erzeugt.

Da ich aber in Zelle "L4:M4: noch andere  Zufallszahlen erzeugen kann habe ich bei deinem Makro keinen Zugriff mehr darauf.

Wäre das möglich das du die Zelle "N4" als Vorgabe wie gehabt nimmst.

Die Formel in der Zelle "K6" (=SUMME(L4:M4) -gelöscht  wird und über das Makro die Zahlen aus "L4:M4" zusammengezählt werden und bei Übereinstimmung angezeigt wird.

Bitte um Rückmeldung wenn noch Fragen da sind.

Hier eine Beispieldatei 

Ganz herzlichen Dank

Gruß

Rudolf

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Rudolf,

wenn du die Grenzen deiner Zufallszahlen selbst festlegen willst, dann ist das auch kein Problem: bearbeitete Datei.

Ich habe das Makro so geändert, dass du in den Zellen B1 und B2 die Grenzen deiner zu berechnenden Zufallszahlen selbst festlegen kannst. Schau dir hierzu die Tabelle "Beispiel mit Makro" an.

Die Summenformel in K6 kannst du ruhig lassen, ist aber nicht notwendig, da die beiden Zufallszahlen in der Summe ja immer den Wert in N4 ergeben.

Gruß

M.O.

0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)

Hallo M.O.

ich komme nochmals auf meinen Wunsch zurück und schaue dir bitte  die Beispieldatei "Tabelle 1" nochmals dazu an.

Momentan drücke ich solange die Funktionstaste "F9" bis die von mir gewünschte oder ausgedachte  Zahl in Zelle "K6"erscheint. z.B.: "6".  Das kann natürlich dauern.

Ich hätte diesen Vorgang mit dem Eintrag der gesuchten Zahl In "N4" automatisiert:

Steht in "N4" die Zahl "6" soll das Makro solange durchlaufen bis in "K6" die Zahl erscheint.

- dann möchte ich das Makro wieder starten und der Vorgang wird wiederholt da die Zahlen in "L4 und M4" ja  als zB:

3+3 oder 4+2 oder 1+5 immer "6" ergeben.

Das wäre mein Anliegen.

Ich hoffe du willst mir noch weiterhelfen?

Danke

Gruß

Rudolf

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Rudolf,

leider verstehe ich nicht, was an meiner Makrolösung anders ist, als bei deiner Tabellenlösung, außer, dass du nicht immer F9 zur Neuberechnung des Arbeitsblattes drücken musst.

Du gibst in N4 deine gewünschte Zahl ein, also z.B. 6. Dann startest du das Makro und in der Zelle L4 erscheint die 2 und in Zelle M4 die 4, gibt zusammen 6. Diese Summe wird dann in K6 angezeigt. Also Bedingung erfüllt. Dann startest du das Makro neu und es wird dir z.B. 3 und 3, oder 1 und 5 angezeigt. Natürlich wird bei dem Makrodurchlauf nur die gefundene Kombination angezeigt, die das gewünschte Gesamtergebnis ergibt, während du bei deiner händischen Version auch die nicht zutreffenden Kombinationen siehst. Und natülich kann es auch passieren, dass mehrmals hintereinander gleiche Kombinationen ausgegeben werden, was aber auch bei der händischen Variante passieren kann.

Also alles funktioniert so wie du es haben willst, oder stehe ich da etwa völlig auf dem Schlauch?

Gruß

M.O.
0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)
Hallo M.O.

obwohl ich "Inhalt" - "Makro" in deiner Probetabelle aktiviert habe ist das Makro nicht richtig gelaufen.

Jetzt habe ich dies nochmals ausprobiert und es funktioniert und läuft so wie angefragt.

Jetzt werde ich versuchen das Makro einzufügen. Wenn dies geklappt hat werde ich mich nochmals bei Dir melden.

Vielen lieben Dank

Gruß Rudolf
0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)
Hallo M.O.,

ich muss jetzt ein große Pause machen denn es funktioniert das Einfügen des Makros nicht.

Ich sitze auch zu lange schon vor dem Computer.

Nur eine Frage noch zu deinem Programm: Werden die Zahlen in L4 und M4 über dein Makro ausgegeben und erstellt?

Ich werde mich vielleicht später wieder melden.

Lieben Dank für deine Mühe

Gruß

Rudolf
0 Punkte
Beantwortet von rastermen Mitglied (496 Punkte)
Bearbeitet von rastermen

Hallo M.O.

ich möchte mich gerne nochmal an Dich wenden, wenn ich Dich auch sehr strapaziert habe, da ich einer Lösung Nahe gekommen bin die die Zellen L4 und M4" nicht betrifft.

Habe das im Internet gefunden und angepasst.

Wäre es bitte möglich das du mir dieses Makro in der Beispieldatei so erweiterst das es mit Klick auf das "Command..) automatisch läuft?

Ganz herzlichen Dank

Gruß

Rudolf

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Rudolf,

wie ich bereits geschrieben habe, werden durch mein Makro so lange Zufallszahlen erzeugt, bis die gewünschte Summe in N4 erreicht ist. Wie du das Makro in deine Mappe einfügen kannst, kannst du in dem Link sehen, den ich bei meiner ersten Antwort hinterlegt habe. Du musst natürlich das Makro aus meiner Beispieldatei kopieren und in deine Mappe einfügen, wenn du die Grenzen immer selbst festlegen willst.

Nun zu deiner neuen Beispieldatei. Hier wird durch den Druck auf den Commandbutton ja nur geprüft, ob die Summe in K6 mit dem Wert in N6 übereinstimmt. Was willst du ja noch automatisieren? Man könnte das höchstens dahin automatieren, dass das Makro bei einer Neuberechnung des Arbeitsblatts ausgeführt wird.

Aber das kann man auch ganz einfach mit einer Formel in K8 machen:

=WENN(K6=N4;"Wert in N4 und K6 stimmt überein!";"Wert in N4 und K6 stimmt nicht überein!")

Und wenn du das dann noch farblich herausheben willst, kannst du das mit bedingter Formatierung machen.

Hier mal deine geänderte Beispieltabelle: Download

Gruß

M.O.

...