Huhu VBAler !
Ich bin echt eingerostet in VBA und hab schon stundenlang das Internet und Youtube durchforstet. Auch die Suchefunktion hier kann mir net so richtig helfen.
Folgendes Problem:
Ich habe einen Button erstellt, dessen Aufgabe es ist, eine Zahl zwischen 1-50 zufällig auszugeben und in die Zeile J3 zu schreiben. Das macht er auch. Jede weitere ausgegebene Ziffer wird in die nächste freie Zeile geschrieben.
Nun kommt es aber natürlich vor, dass er mir irgendwann eine Ziffer doppelt ausgibt und in eine leere Zeile schreibt.
Ich möchte, dass VOR dem Eintrag in die nächste Zeile geprüft wird, ob die ausgegebene Zahl bereits in einer der Zeilen J3-J54 vorhanden ist und wenn ja, dann soll er eine noch nicht ausgegebene Ziffer wählen und eintragen.
Mein bisheriger Code sieht wie folgt aus:
Sub Button1_Click()
Dim number As Integer
number = Rnd("1") * ("50")
If Sheets("Sheet1").Cells(3, 10).Value = "" Then
Sheets("Sheet1").Cells(3, 10).Value = number
Else
Sheets("Sheet1").Cells(Cells(Rows.Count, "J").End(xlUp).Row + 1, "J").Value = number
End If
MsgBox number
End Sub
ich habe bisher folgendes erfolglos probiert:
If ActiveCell.Value = Sheets("Sheet1").Range("J3:J54").Value Then
number = Rnd("1") * ("50") + 1
end if
Kann mir bitte jemand nen roten Faden an die Hand geben?
Ich bin echt eingerostet in VBA und hab schon stundenlang das Internet und Youtube durchforstet. Auch die Suchefunktion hier kann mir net so richtig helfen.
Folgendes Problem:
Ich habe einen Button erstellt, dessen Aufgabe es ist, eine Zahl zwischen 1-50 zufällig auszugeben und in die Zeile J3 zu schreiben. Das macht er auch. Jede weitere ausgegebene Ziffer wird in die nächste freie Zeile geschrieben.
Nun kommt es aber natürlich vor, dass er mir irgendwann eine Ziffer doppelt ausgibt und in eine leere Zeile schreibt.
Ich möchte, dass VOR dem Eintrag in die nächste Zeile geprüft wird, ob die ausgegebene Zahl bereits in einer der Zeilen J3-J54 vorhanden ist und wenn ja, dann soll er eine noch nicht ausgegebene Ziffer wählen und eintragen.
Mein bisheriger Code sieht wie folgt aus:
Sub Button1_Click()
Dim number As Integer
number = Rnd("1") * ("50")
If Sheets("Sheet1").Cells(3, 10).Value = "" Then
Sheets("Sheet1").Cells(3, 10).Value = number
Else
Sheets("Sheet1").Cells(Cells(Rows.Count, "J").End(xlUp).Row + 1, "J").Value = number
End If
MsgBox number
End Sub
ich habe bisher folgendes erfolglos probiert:
If ActiveCell.Value = Sheets("Sheet1").Range("J3:J54").Value Then
number = Rnd("1") * ("50") + 1
end if
Kann mir bitte jemand nen roten Faden an die Hand geben?