![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() |
![]() ich habe folgendes Problem:
Eine Tabelle mit 6 Geräten - diese Geräte haben in den Zellen D2-D7 Ihre Nummerierung... Ich möchte mittels Zufallszahlen diese Nummern "verteilen"(natürlich darf keine Zahl öfter als 1x vorkommen) wer weiss wie das funktioniert? danke Michi |
![]() |
![]() |
![]() |
#2 |
Jr. Member
![]() |
![]() hy!
wann sollen die zufallszahlen vergeben werden bzw. wie sollten die zahlen formatiert sein? z.b. beim öffnen der datei? denn dann kannst du es mit einem makro programmieren! mfg little |
![]() |
![]() |
![]() |
#3 |
Elite
![]() |
![]() nur einmal vergeben.
Es sollte eine "Startliste" werden, wobei eben den Startern Geräte zufällig zugeteilt werden. Der Zeitpunkt wäre mir eher egal, da ich in die Liste ohnedies zuerst die Namen reinschreibe und erst wenn das Feld mit allen 6 Startern "gefüllt" ist, werden die Geräte zugewiesen... danke Michi |
![]() |
![]() |
![]() |
#4 |
Jr. Member
![]() |
![]() hy!
ich hoffe der code ist für dich das richtige bzw. wie du es wolltest! er wird ausgeführt, wenn du den ordner aktivierst, in dem du den code eingefügt hast! ev. mußt du den ordnernamen ändern! Private Sub Worksheet_Activate() ' Definieren der Variablen Dim a(0 To 5) As Double i = 0 Do While i < 6 'int für eine Ganzzahl 'int((obergrenze - untergrenze +1) * rnd + untergrenze) a(i) = Int((100 - 1 + 1) * Rnd + 1) x = 0 'überprüfen ob die zahl schon vorkommt Do While x < i If a(i) = a(x) Then i = i - 1 x = x + 1 Loop i = i + 1 Loop i = 0 'werte in die zellen schreiben Do While i < 6 Worksheets("Tabelle1").Cells(i + 2, 4).Value = a(i) i = i + 1 Loop End Sub gutes gelingen ![]() mfg little |
![]() |
![]() |
![]() |
#5 |
Elite
![]() |
![]() danke, du ganz grosser "little21"!
![]() Ich habe nur noch das Problem mit dem Aktivieren des codes... Wenn ich im VBA drinnen bin kann ich es mit "F5" korrekt ausführen - nur: Wie führt sich der code ohne mein Zutun aus??? Michi |
![]() |
![]() |
![]() |
#6 |
Jr. Member
![]() |
![]() hy!
wenn du in visual-basic bist gibt es links ein fenster mit dem namen VBAPROJEKT. dort siehst du deine datei mit den verschiedenen ordnern! wenn du dort deinen ordner aktivierst und dann dort rechte maustaste drückst kommt ein pull-down-menü indem du CODE auswählen mußt! dann wird der Code für den ordner angezeigt! wenn du dann den geposteten code einfügst müßte die prozedure jedesmal ausgeführt werden, wenn der ordner aktiviert wird! 2 Möglichkeit: du zeichnest ein makro auf (ist egal was!) und bearbeitest dann den code! --> makro code löschen bis auf erste und letzte zeile und meinen code einfügen! (bis auf die erste und letzte zeile meines codes!) dann wird die funktion ausgeführt, wenn du das makro startest! du kannst ja einen button das makro zuweisen! hoffe du hast trotz der langen ausführung etwas verstanden! ![]() mfg little |
![]() |
![]() |
![]() |
#7 |
Elite
![]() |
![]() ...jetzt bin ich "auf Sendung" - Herzlichen Dank nochmals für Deine Mühen!
Michi |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|