BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
[Gelöst]Zufallszahlen sortieren /Macro geht nicht
Re: Zufallszahlen sortieren /Macro geht nicht
Danke
Ich werde noch lösungen testen und auch schauen was Craig mir da noch schreibt .
Trotzdem denke ich werde ich erstmal Gelöst schreiben. weil ich nicht weiß wie schnell
das mein Gehirn alles verarbeitet.
Wenn dann öffne ich es später nochmal.
Und Craig du kannst ruhig hier noch ne Lösung reinschreiben.
Ich werde noch lösungen testen und auch schauen was Craig mir da noch schreibt .
Trotzdem denke ich werde ich erstmal Gelöst schreiben. weil ich nicht weiß wie schnell
das mein Gehirn alles verarbeitet.
Wenn dann öffne ich es später nochmal.
Und Craig du kannst ruhig hier noch ne Lösung reinschreiben.
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
Das is die Letzte Version von mir mit 12 Spalten.
incl. den Button für Würfeln und einen zum anschließenden sortieren.
Die Spalte A hat die Zufallszahl und andere Werte Verbunden damit ich eine Zahl zum sortieren habe.
( ja ich weiß habe beim Verketten noch nen denkfehler drinnen die Ini von 8 ist größer als eine 70 aber das schaffe ich noch )
wenn jetzt einer das Macro ändern möchte / will /bitte Bitte damit es schneller eingetragen wird bin ich dankbar.
incl. den Button für Würfeln und einen zum anschließenden sortieren.
Die Spalte A hat die Zufallszahl und andere Werte Verbunden damit ich eine Zahl zum sortieren habe.
( ja ich weiß habe beim Verketten noch nen denkfehler drinnen die Ini von 8 ist größer als eine 70 aber das schaffe ich noch )
wenn jetzt einer das Macro ändern möchte / will /bitte Bitte damit es schneller eingetragen wird bin ich dankbar.
- Dateianhänge
-
- SR 5 Ini 99% 4.02.ods
- (68.64 KiB) 154-mal heruntergeladen
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
Hallo Taghor,
Naja, hier ersteinmal ein Code der Arrays verwendet und erheblich schneller ist als die Zufußmethode:
Damit Du es für Dein Sheet einsetzen kannst, müßtest Du zusätzliche Rangeobjekte und Arrays anlegen.
Beispiel:
Dann:
Das Array mRange() kann für alle Spalten wiederverwendet werden, da es nur die Zahlen 1-6 enthält.
Da ich nicht weiß, welche Pläne Du noch hast kannst Du für jede Spalte ein eigenes Datenarray anlegen.
Das muss nicht gemacht werden, aber wenn Du in Zukunft die Zufallsdaten noch wo anders im Blatt nutzen möchtest,
dann ist es ggf. sinnvoll mit unterschiedliche Arrays zu arbeiten. Sie spiegeln dann in Summe den kompletten Zufallsbereich wieder.
Es gibt noch andere Methode, aber es fehlt mir im Augenblick die Zeit dies auszuführen.
Dann die Dimensionierung der Arrays, durch Übergabe des gewünschten Zufallsbereichs:
Dann müssen in der For Next Schleife die Array-Namen angepasst werden.
Am Ende erfolgt dann die Übergabe der Arrayinhalte an den jeweiligen Zellbereich:
Bei allem Respekt, auch Helfer wie ich haben eine Familie und noch anderes zutun. Da steht dann die Forenhilfe leider etwas hinten an.Taghor hat geschrieben:wenn jetzt einer das Macro ändern möchte / will /bitte Bitte damit es schneller eingetragen wird bin ich dankbar.
Naja, hier ersteinmal ein Code der Arrays verwendet und erheblich schneller ist als die Zufußmethode:
Code: Alles auswählen
REM ***** BASIC *****
Sub ZufallSpalteBEArray
Dim oDoc as Object ' Objektvariable für das aktuelle Dokument
Dim oCC as Object ' Objektvariable für den Currentcontroller. Damit ist z.B. ein Zellzugriff möglich
Dim oRange as Object ' Objektvariable für den Zellbereich
Dim mRND(0 to 5) as Integer ' Array für die Aufnahme der Zahlen 1-6
Dim mRange() as Integer ' Array, welches später allke ZUfallszahlen enthält
Dim i as Integer ' Zählervariable vom Datantyp Integer
Dim x as Integer ' Variable zur Aufnahme der Zufallszahl vom Datantyp Integer
' Referenzierungen der Objektvariablen
oDoc=ThisComponent
oCC =oDoc.CurrentController
' Zellbreich festlegen
oRange = ThisComponent.Sheets(0).getCellRangeByName("BE3:BE201")
' Array dimensionieren, in dem einfach der gewünschten Zellbereich übergeben wird.
mRange() = oRange.getDataArray()
' Bei mRND handelt es sich um ein Array, welches aus 6 Datenfeldern besteht.
' Die Datenfelder werden mittels der Schleife mit Zahlen von 1 - 6 gefüllt.
' mRND(0) = 1
' mRND(1) = 2
' mRND(2) = 3
' usw.
' Das befüllen des Arrays ginge auch ohne Schleife:
' mRND()=Array(1,2,3,4,5,6)
for i = 0 to 5
' Arrayfelder(0 bis 5) mit Zahlen von 1 -6 füllen
mRND(i)=i+1
next i
' uBound = Obergrenze des Arrays. Enpricht in diesem Fall 199 Zellen = 198 Datenfelder gezählt von 0 - 198
For i = 0 to ubound(mRange())
' Zufallzahlen für Datenfelder des Arrays mRND() erzeugen
' Feld 0 bis Feld 5
' Feld 0 = 1
' Feld 2 = 2, usw.
x=5 * rnd()
' Wenn Zelle 200 erreiocht, dann nichts in Array schreiben
if i = 197 then
mRange(i)(0) =""
' Sonst
Else
' Array mit Zufallsdaten füllen
mRange(i)(0)=mRND(x)
End if
next i
' Das komplette Array in Zellbereich schreiben
oRange.setDataArray(mRange())
End Sub
Beispiel:
Code: Alles auswählen
Dim oRangeSpalteBE as Object ' Objektvariable für den Zellbereich
Dim oRangeSpalteBF as Object ' Objektvariable für den Zellbereich
usw.
Code: Alles auswählen
' Zellbereiche festlegen
oRangeSpalteBE = ThisComponent.Sheets(0).getCellRangeByName("BE3:BE201")
oRangeSpalteBF = ThisComponent.Sheets(0).getCellRangeByName("BF3:BF201")
usw.
Da ich nicht weiß, welche Pläne Du noch hast kannst Du für jede Spalte ein eigenes Datenarray anlegen.
Das muss nicht gemacht werden, aber wenn Du in Zukunft die Zufallsdaten noch wo anders im Blatt nutzen möchtest,
dann ist es ggf. sinnvoll mit unterschiedliche Arrays zu arbeiten. Sie spiegeln dann in Summe den kompletten Zufallsbereich wieder.
Es gibt noch andere Methode, aber es fehlt mir im Augenblick die Zeit dies auszuführen.
Code: Alles auswählen
Dim mRangeBE() as Integer ' Array, welches später alle Zufallszahlen der Spalte BE enthält
Dim mRangeBF() as Integer ' Array, welches später alle Zufallszahlen der Spalte BF enthält
usw.
Code: Alles auswählen
' Array dimensionieren, in dem einfach der gewünschten Zellbereich übergeben wird.
mRangeBE() = oRangeBE.getDataArray()
mRangeBF() = oRangeBF.getDataArray()
usw.
Am Ende erfolgt dann die Übergabe der Arrayinhalte an den jeweiligen Zellbereich:
Code: Alles auswählen
' Das komplette Array in Zellbereich schreiben
oRangeBE.setDataArray(mRangeBE())
oRangeBF.setDataArray(mRangeBF())
usw.
Gruß
Craig
Nie die Sicherungskopie vergessen!
═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.8 • LO 7.4.5.1 (x64)
Craig
Nie die Sicherungskopie vergessen!
═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.8 • LO 7.4.5.1 (x64)
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
Hallo Craig,
falls Du es noch nicht bemerkt haben solltest, Taghor beschäftigt 2 Foren, siehe http://de.openoffice.info/viewtopic.php?f=2&t=70950
falls Du es noch nicht bemerkt haben solltest, Taghor beschäftigt 2 Foren, siehe http://de.openoffice.info/viewtopic.php?f=2&t=70950
Gruß
--------------------------------------------------------
Win.10 Prof. 64-bit, AOO 4.1.7, LO 6.3.4 (x64)
--------------------------------------------------------
Win.10 Prof. 64-bit, AOO 4.1.7, LO 6.3.4 (x64)
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
@nikki
Ich weiß, ggf. hilfst auch anderen Suchenden in Bezug auf Arrays und Zufallszahlen.
Ich weiß, ggf. hilfst auch anderen Suchenden in Bezug auf Arrays und Zufallszahlen.
Gruß
Craig
Nie die Sicherungskopie vergessen!
═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.8 • LO 7.4.5.1 (x64)
Craig
Nie die Sicherungskopie vergessen!
═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.8 • LO 7.4.5.1 (x64)
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
Jup das mit dem 2 Forums hab ich ( nach Hinweis ) schon hier erzählt.
Ich habe in beiden Forums geschrieben weil ich am Anfang keine Antworten erhalten habe.
Jo ich weiß das das alles freiwillig ist und bin tierisch dankbar für die Hilfe und Reallife geht vor.
Deswegen brauche ich jetzt auch erstmal Zeit die ganzen anderen Beiträge auszuprobieren.
Und habe deshalb auch "Gelöst" reingeschrieben um das alles zu verarbeiten können.
Vielen Dank
Ich habe in beiden Forums geschrieben weil ich am Anfang keine Antworten erhalten habe.
Jo ich weiß das das alles freiwillig ist und bin tierisch dankbar für die Hilfe und Reallife geht vor.
Deswegen brauche ich jetzt auch erstmal Zeit die ganzen anderen Beiträge auszuprobieren.
Und habe deshalb auch "Gelöst" reingeschrieben um das alles zu verarbeiten können.
Vielen Dank
Re: [erstmal Gelöst]Zufallszahlen sortieren /Macro geht nicht
Danke
hoffe fertig
Gelöst
habe aus verschiedenen Formeln was zusammengebastelt da ich noch ne Zufallszahl eingefügt hatte.
hoffe fertig
Gelöst
habe aus verschiedenen Formeln was zusammengebastelt da ich noch ne Zufallszahl eingefügt hatte.