Hallo roneburger,
poste doch demnächst bitte mit realname, ist angenehmer zu kommunizieren.
Zu Deinem Problem:
Ich kapier zwar nicht ganz, was Du vorhast, aber so gehts:
Sub Zahl()
Application.ScreenUpdating = False
Dim Zahl(50)
Dim finde As Range
'Range("A3:A52").Select
With Sheets(2).Range("A3:A52")
.Borders(xlLeft).LineStyle = xlNone
.Borders(xlRight).LineStyle = xlNone
.Borders(xlTop).LineStyle = xlNone
.Borders(xlBottom).LineStyle = xlNone
.BorderAround LineStyle:=xlNone
.Interior.ColorIndex = xlNone
End With
'Range("A1").Select
For zähler% = 1 To 50
Randomize Timer
nochmal:
Zahl(zähler%) = Int((50) * Rnd + 1)
Set finde = Sheets(2).Cells.Find(What:=Zahl(zähler%))
finde.BorderAround Weight:=xlThin, ColorIndex:=xlAutomatic
If finde.Interior.ColorIndex = 35 Then GoTo nochmal
With finde.Interior
.ColorIndex = 17
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
MsgBox (Zahl(zähler%))
Next zähler%
End Sub
Für den Button mußt Du Menüleiste "Steuerlemente" aktivieren und eine Befehlsschaltfläche auswählen.
Rechte Maus auf den Button und "Code anzeigen" lassen.
Im Code den Namen deines Makros eintragen:
Private Sub CommandButton1_Click()
Zahl
End Sub
Noch was. Du willst doch 50 Zahlen ziehen, hast aber mit zahl(6) ein Feld mit 6 Zahlen angelegt.
Und
For zähler=1 to 1
läuft auch nur genau einmal und nicht 50-mal.
Ich hab das im Code geändert. Hoffentlich in Deinem Sinne
Gruß
Volker