Option Explicit
Sub FillLottox()
Dim lngArray1(1 To 18) As Long
'Dim lngArray1(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18) As Long
Dim lngArray2(1 To 6) As Long
Dim lngC, lngX As Long
'For lngC = ("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18")
For lngC = 1 To 18
lngArray1(lngC) = lngC
Next
'Sechs Zufallszahlen aus dem Array gezogen
For lngC = 1 To 6
'Ziehe, bis ein Wert > 0 geliefert wird
Do
lngX = Int(Rnd * 18) + 1
Loop Until lngArray1(lngX) > 0
'Zahl speichern
lngArray2(lngC) = lngX
'gezogene Zahl im ersten Array mit 0 ersetzen
lngArray1(lngX) = 0
Next
'Den Inhalt des Arrays1 ausgeben
For lngC = 1 To 18
Debug.Print lngArray1(lngC),
Next
'Den Inhalt des Arrays2 ausgeben
For lngC = 1 To 6
Debug.Print lngArray2(lngC),
Next
Range("A8:F8").Value = lngArray2
Range("A7:Z7").Value = lngArray1
End Sub