AW: zufällig überschreiben
30.05.2020 12:30:24
Peer
Hallo.
Ich habe doch ein wenig mit deinem Code gespielt.
Ich habe jeder Spalte der Tabelle ein Sub zugeordnet, damit ich die Werte getrennt generieren lassen kann.
Dabei habe ich den Datumswert angepasst, damit die Werte ein bisschen realistisch sind.
Private Sub btn_Geb_Zufall_Click()
Dim wks As Worksheet
Dim Zelle As Range
Set wks = ActiveSheet
Application.Calculation = xlCalculationManual
With wks
'Datumswerte
For Each Zelle In .Range("H2:H30")
Zelle.Value = VBA.DateSerial(1950, 1, 1) + CLng(Rnd() * 20000)
Next
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Dann dachte ich über die Namen nach und mir kam die Idee, bei der erzeugten Zufallszahl in jeden "Name" die selbe Zufallszahl bei "Vorname" vorzuhängen, damit "Name" und "Vorname" zusammenhängend erkennbar sind.
Dabei habe ich etwas gebastelt, das aber noch nicht ganz so funktioniert, wie geplant.
Private Sub btn_NameZufall_Click()
Dim wks As Worksheet
Dim Zelle As Range
Dim i As Integer, untWert As Integer, obWert As Integer
Set wks = ActiveSheet
untWert = 1 'Format(1, "00")
obWert = 30 'Format(30, "00")
Application.Calculation = xlCalculationManual
Randomize Timer
i = Int(Format(obWert, "00") - Format(untWert, "00") + 1) * Rnd + untWert
With wks
' 'Randomize Timer
' i = Int(obWert - untWert + 1) * Rnd + untWert
'' 'Name
For Each Zelle In .Range("B33:B60")
Zelle.Value = "Name" & i 'Format(CLng(Rnd() * 30), "00")
Next
For Each Zelle In .Range("C33:C60")
'Zelle.Value = Format(CLng(Rnd() * 30), "00") & "Vorname"
Zelle.Value = i & "Vorname"
Next
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Erst habe ich i in der With-Anweisung probiert und dann außerhalb, aber immer wird nur eine Zahl erzeugt. Dann habe ich auch Randomize Time auskommentiert, und auch hier wurde nur eine Zahl erzeugt.
Jedesmal war die Zahl anders, als funktioniert zumindest der "Zufall".
Auch das Format der Zufallszahl klappt nicht.
Da ich hier noch Anfänger bin, glaube ich, dass meine Gedanken und meine Ausführungen unterschiedlich arbeiten. ;-)
Wie ist es richtig?
Vielen Dank für die Unterstützung.
LG
Peer