myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Zufallsgenerator mit Hilfe von Makros in Excel

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 28.05.15, 16:01   #1
Bensel
Anfänger
 
Benutzerbild von Bensel
 
Registriert seit: Apr 2010
Beiträge: 23
Bedankt: 6
Bensel ist noch neu hier! | 0 Respekt Punkte
Standard Zufallsgenerator mit Hilfe von Makros in Excel

Hallo Liebe Helferlein

Ich bin irgendwie zu blöd für makros in excel und brauche Hilfe

Folgendes Hätte ich gerne das er zufällig aus einer reihe von Sätzen die Im zweiten register Blatt stehen wählt und die dann in angegebene zeilen in tabelle eins einfügt

das "i" tüpfelchen wäre es dann natürlich noch das er jeden satzt nur einmal nimmt bzw Ich die ausgabe mit einer Tastenkombination steuern kann als zB gewünschtes feld auswählen und bei drücken von Shift "w" dann die sache einfügt

Folgendes habe Ich schon aus dem Internet geschöpft

Code:
Sub Makro1()
    Dim Zufall%
    Zufall = Int((6 * Rnd) + 1)  'aus "A1:A6"
   ' MsgBox Cells(Zufall, 1)
End Sub
werde daraus nur nicht so wirklich schlau bzw kann es nicht für meine zwecke umschreiben

Hoffe auf schnelle Hilfe

Grüße und danke im voraus

PS Hoffe Ich bin hier überhaupt im richtigen threat
Bensel ist offline   Mit Zitat antworten
Ungelesen 29.05.15, 10:25   #2
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Hi... also so richtig habe ich nicht verstanden, was du genau vorhast...
Hier mal ein Code, der dir den Bereich von K1:K6 zufällig mischt und ab dort einfügt (allerdings auf demselben Blatt), wo die markierte Zelle ist...
Ich würde mir einen CommandButton auf das Blatt legen und folgenden Code einfügen...
Code:
   Dim myRange As Range
   Dim myZeilen As Integer, myZufall As Integer
   Dim zeile, spalte
   
   zeile = ActiveCell.Row
   spalte = ActiveCell.Column
   
   Randomize
   
   Range("K1:K6").Select 
   myZeilen = Selection.Rows.Count
   
   Range(Cells(zeile, spalte), Cells(zeile + myZeilen - 1, spalte)).ClearContents 'der Bereich der leer sein muss
   Range("A1:J100").ClearContents 'wenn ein bestimmter Bereich vorm (nächsten) Mischen geleert werden soll
   
   For Each myRange In Selection.Cells
   
      myZufall = Int((myZeilen * Rnd) + 1)
      
      Do While Not IsEmpty(Cells(myZufall + zeile - 1, spalte))
         myZufall = Int((myZeilen * Rnd) + 1)
      Loop
      
      Cells(myZufall + zeile - 1, spalte).Value = myRange.Value
      
    Next myRange
    
    Cells(zeile, spalte).Select
Edit: In diesem Code mischt er die Werte aus K1:K6 immer in L1:L6. Nun könntest du aus bestimmten Zellen mit einer Formel auf die gemischten Werte zugreifen... Also z.B. in die Zelle A3 die Formel =L1, in Zelle A5 die Formel =L2, usw. Mit einem klick auf den Button wird neu gemischt...
Code:
   Dim myRange As Range
   Dim myZeilen As Integer, myZufall As Integer
   Dim zeile, spalte
   
   zeile = 1
   spalte = 12
   
   Randomize
   
   Range("K1:K6").Select
   myZeilen = Selection.Rows.Count
   
   Range("L1:L6").ClearContents
   
   For Each myRange In Selection.Cells
   
      myZufall = Int((myZeilen * Rnd) + 1)
      
      Do While Not IsEmpty(Cells(myZufall + zeile - 1, spalte))
         myZufall = Int((myZeilen * Rnd) + 1)
      Loop
      
      Cells(myZufall + zeile - 1, spalte).Value = myRange.Value
      
    Next myRange

    Range("A1").Select
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 29.05.15, 16:30   #3
Bensel
Anfänger
 
Benutzerbild von Bensel
 
Registriert seit: Apr 2010
Beiträge: 23
Bedankt: 6
Bensel ist noch neu hier! | 0 Respekt Punkte
Standard erläuterumg

zur Erläuterung Ich muss knappe 2 Jahre Berichtsheft nachschreiben weil die IHK nicht zufrieden ist mit dem wie Ich es gemacht habe
Somit Dachte Ich mir da Ich Stationen mäßig Ausgebildet wurde und dann an der jeweiligen Station nahezu jeden tag das gleiche gemacht habe kann ich auch einfach mir 30 Standardsätze ausdenken und diese dann auf den Monat per Zufallsgenerator einfügen lassen
auf die Idee bin ich gekommen da wir auf der arbeit nach einem ähnlichen Prinzip mit einem Zufallsgenerator Test's erstellen

die 30 Sätze befinden sich in der 2ten Tabelle der Mappe das Berichtsheft in der ersten

Danke schon mal für deine Hilfe ich werde es ausprobieren
Bensel ist offline   Mit Zitat antworten
Ungelesen 29.05.15, 16:52   #4
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Und du meinst, das merken die nicht, wenn sie dich eh schon auf dem Kieker haben?

Man könnte es theoretisch so machen, dass per Doppelklick auf eine beliebige Zelle dort einer der Sätze eingefügt wird, dann dieser Satz in der Liste als "benutzt" markiert wird und somit nach und nach die Liste durchgearbeitet wird. Wenn alle Sätze markiert sind, wird neu gemischt und der Spaß geht von vorne los...

Dann könntest du allerdings auch gleich einen der Sätze markieren und in jedem Monat einmal einfügen. Das dauert auch nicht viel länger und erspart vor allem mir viel Arbeit...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr.


Sitemap

().