Probleme mit einem Array und einer Do-While Schleife
#1
Hallo zusammen,

an folgendem bin ich mal wieder aufgelaufen.

Ich habe in einem neuen Projekt eine Auslosung für 64 Spieler realisiert. Die man bei Turnieren jeglicher Art verwenden können sollte. 
Nun funktioniert noch nicht alles so wie ich mir das vorgestellt habe.

Zu meinem Problem, ich habe da ein Array das aus einer Tabelle Zeilen einliest und später wieder gemischt ausgibt.
In der Tabellen die in das Array gespeichert werden soll können "zufällig" Lücken enthalten sein, siehe Beispieldatei.
Jetzt liest mein Array aber die leeren Zellen mit ein und ich hab in meiner Spieltabelle Lücken.
(Die Zeilen die er Speichern muss enthalten auch Formeln die ebenfalls mit übertragen werden sollen)

Außerdem kann ich gesetzte Spieler "setzen" das funktioniert auch in der Originaldatei, aber wenn ich das entsprechende Feld in dem ich die Anzahl dafür leer lasse trägt er trotzdem 1 Spieler als gesetzt ein.
Das eintragen realisiere ich mit einer Do While Schleife.

Ich hinterlasse ein paar Kommentare in der Datei, vlt kann mir ja jemand auf die Sprünge helfen.
Schon mal vielen Dank

Grüße bergaa

.xlsm   Microsoft Excel-Arbeitsblatt (neu).xlsm (Größe: 47,89 KB / Downloads: 8)
Top
#2
Hi bergaa,
 
da ich von deinem Projekt momentan nur bei Teilstücken zu verstehen glaube was du vor hast, hier mal nur der Anfang an Hilfestellung.
 
Für deine Do Schleife findest du hier eine Erklärung. (Du prüfst erst nachher)
https://www.vba-tutorial.de/ablaufsteuer...leifen.htm
 
Hinweis:
Ich vermute mal das die Einträge in J3:J66 keine doppelten Zahlen enthalten sollten. Mit deinem Zufallsprinzip funktioniert das nicht.
 
Gruß Elex
Top
#3
Hallo Elex, 

danke für deine Antwort, das mit den Schleifen hat trotzdem nicht funktioniert.
(Bei den Freilosen habe ich auch eine Do-Schleife und prüfe erst nachher. Da schreibt es mir trotzdem nicht einfach die Werte in die Ausgangstabelle rein)
Aber ich habe trotzdem eine Lösung gefunden mit der ich zufrieden bin.
(Wenn vielleicht auch etwas umständlich)

In der Beispieldatei hab ich lediglich Zahlen für J3:J66 benutzt. Da könnten auch Zeichen und/oder Buchstaben stehen.
Im Endeffekt möchte ich eine Spalte die 64 Zeilen hat in ein Array einlesen, dass darf aber nur so groß sein wie Zellen vorhanden sind die einen Wert enthalten. Dann sollten diese Zellen ins Array gespeichert werden, mit der hinterlegten Formel. 


Gruß bergaa
Top
#4
Guten morgen, 

nach wie vor brüchte ich noch eine Lösung wie er Zellen die einen Inhalt aufweisen mit Formel in ein Array einliest.
(Beispiel: J3:J66, insgesamt 64 Zellen, jetzt sind J44 und J45 leer und J59 und J63 auch. Wie überspringe ich diese leeren Zellen beim einlesen?)

Danke im vorraus
Grüße bergaa
Top
#5
Hallöchen,

wenn Du Dein Array zeilenweise einliest kannst Du eine entsprechende Bedingung vorschalten
wenn Du Dein Array in einem Rutsch einlesen willst, dann schreibe neben die Spalte temporär die Zeilennummern, wenn die Zellen gefüllt sind. Kopiere die Daten, sortiere anschließend nach den Zeilennummern, dann stehen die leeren unten, die Reihenfolge bleibt erhalten und Du kannst dne Bereich übernehmen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste