Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wer kann mir VB Code umschreiben? :-)

Forumthread: Wer kann mir VB Code umschreiben? :-)

Wer kann mir VB Code umschreiben? :-)
22.12.2004 20:53:36
Martin
Hallo,
hab leider absolut keine ahnung von VB Makro Programmierung und es dauert sehr lange wenn ich das alles mit der Excel Hilfe erlernen muss.
Könnte mir evtl. jemand den unten stehenden Code so umwandeln, das nicht die Zeilen(Ax) zufallsmäßig selektiert wird, sondern die erste Spalte?
-Was muss ich beachten wenn ich evtl. später eine andere Spalte benutzen muss?
-Wie kann ich die Zeile: "'MsgBox r.Address(0, 0), , r.Count" so verändern, dass
sie mir nicht die Zellenindizies, sondern den Inhalt, evtl. schön formatiert ausgibt? Oder wie kann ich die gefundenen Werte in einer anderen Matrix in der Tabelle schön formatiert ausgeben?
Im Endeffekt soll aus einer Liste von Daten 16 zufallsmäßig ausgesucht werden!
Auf jeden Fall schonmal vielen vielen Dank für den der sich darum kümmert! :-)
Gruss Martin.

Code:

Private Sub CommandButton1_Click()
Const AnzTermine As Integer = 16
Dim i&, lngZufall&, j&
Dim arrZufall() As Long, arrZeilen() As Long
Dim r As Range
i = Cells(Rows.Count, 1).End(xlUp).Row
ReDim arrZufall(AnzTermine - 1)
ReDim arrZeilen(i - 1)
Randomize
For j = 1 To i: arrZeilen(j - 1) = j: Next j
For j = 1 To AnzTermine
lngZufall = Int((i - j + 1) * Rnd + 1)
arrZufall(j - 1) = arrZeilen(lngZufall - 1)
arrZeilen(lngZufall - 1) = arrZeilen(i - j)
Next j
Set r = Cells(arrZufall(0), 1)
For j = 1 To AnzTermine - 1
Set r = Application.Union(r, Cells(arrZufall(j), 1))
Next j
'MsgBox r.Address(0, 0), , r.Count
r.Select
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wer kann mir VB Code umschreiben? :-)
22.12.2004 21:09:33
Josef Ehrensberger
Hallo Martin!
Hast du dir im alten Thread meinen Code angesehen bzw. probiert?

Gruß Sepp
AW: Wer kann mir VB Code umschreiben? :-)
22.12.2004 22:29:02
Martin
Hey Sepp,
ja klar... da war ja noch etwas! :-) Danke, genau das habe ich gesucht...
aber wenn ich aus den Spalten lese und die Ausgabe in Zeilen haben möchte macht der
mir ne Matrix und der kopiert mir jedes Datum mehrfach in die tabelle!?
Sehe ich das richtig, das die Ausgabe direkt sortiert ist?
Gruss

Sub test()
Dim rng As Range
Dim rngU As Range
Dim n As Integer
Set rng = Range("A1:IK1")
n = rng.Count
Set rngU = rng(Int(Rnd * n) + 1)
Do
Set rngU = Union(rng(Int(Rnd * n) + 1), rngU)
Loop While rngU.Count < 16
rngU.Copy [B8:B21]
End Sub

Ausgabe:
01.03.2005 12.03.2005 . . .
01.03.2005 12.03.2005 . . .
. .
. .
. .
Anzeige
AW: Wer kann mir VB Code umschreiben? :-)
22.12.2004 22:41:01
Josef Ehrensberger
Hallo Martin!
Dann so:

Sub test()
Dim rng As Range
Dim rngU As Range
Dim n As Integer
Set rng = Range("A1:IK1")
n = rng.Count
Set rngU = rng(1, Int(Rnd * n) + 1)
Do
Set rngU = Union(rng(1, Int(Rnd * n) + 1), rngU)
Loop While rngU.Count < 16
rngU.Copy
[B8].PasteSpecial Transpose:=True
Application.CutCopyMode = False
End Sub

Code eingefügt mit: Excel Code Jeanie
Die sortierung ergibt sich aus dem Aufbau des Codes automatisch!
Gruß Sepp
Anzeige
AW: Wer kann mir VB Code umschreiben? :-)
22.12.2004 22:45:00
Martin
Wow... super... danke Dir auf jeden Fall!
Gute n8! :-)
Martin.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige