Ich habe mehrere Probleme und möchte die euch schildern, da ich mir sicher bin ihr könnt mir dabei helfen diese zu lösen.
Der Tabellenaufbau ist absolut simpel und besteht eigentlich nur aus 2 relevanten Spalten:
- Spalte B enthält neben der Überschrift darunter eine unbekannte Anzahl an Wörtern
- Spalte D enthält neben der Überschrift darunter genausoviele Zeilen gefüllt mit Zahlen zwischen 1 und 6
- Die Daten beider Spalten enden in der selben Zeile
1. Per Zufall möchte ich eine Range in Spalte B auswählen lassen. Mit dem zusammengewürfelten Code "Zufallszahl" lasse ich eine auswählen, gibt mir in der Schleife auch 10 mal Werte aus.
Soweit, so gut, aber leider bekomme ich in der Schleife auch die Zelle B1 als Ergebnis, was ich aber unbedingt ausschließen möchte, da dort nur die Überschrift steht!
(die MsgBox in der Schleife soll mir nur zum Test anzeigen welche Zelle ausgewählt wurde, die Schleife habe ich wiederum nur eingebaut, dass ich gleich mehrere Ergebnisse sehe)
Was muss ich im Code ändern / hinzufügen, damit ich B1 nicht als Ergebnis bekommen kann?
- Code: Alles auswählen
Sub Zufallszahl()
Dim strZufall As String
For i = 1 To 10
strZufall = "B" & Int((Cells(Rows.Count, 2).End(xlUp).Row - 1) * Rnd + 1) * 1
MsgBox zufall
Next
End Sub
Jetzt sollte aber auch noch die erwähnte Spalte D ins Spiel kommen,
denn ich hätte gerne nur Ergebnisse in Spalte B, wo in der selben Zeile in Spalte D eine andere Zahl als 1 steht!.
Steht also in der dritten Zeile in Spalte D eine 5, so darf die B3 als Ergebnis kommen,
steht aber in der vierten Zeile in Spalte D eine 1, so darf die B4 NICHT als Ergebnis vorkommen.
Wie gesagt, der Tabellenaufbau ist simpel, da nur zwei relevante Spalten!
Den Code Zufallszahl verstehe ich soweit noch abgesehen von dem Problem mit der Kopfzeile, aber das Einbinden von Spalte D, da fehlt mir alles.
Ersuche höflichst um Unterstützung!
Danke.