hallo!
ich habe eine excel tabelle mit ca. 400 kundendaten bzw. 400 zeilen. ich möchte jetzt für jede zeile einen zufallsstring generieren und zwar wenn ich meinen button klicke.
die zufallsstrings sollen sagen wir mal, alle untereinander in spalte D ausgegeben werden. für jede zeile einen anderen und keiner soll gleich sein.
die strings sollen aus 15 zeichen bestehen, sowohl zahlen als auch buchstaben, aber nicht die folgenden (1,i,I,l,L,o,O,0) also alle die man beim händischen eintragen im nachhinein miteinander verwechseln könnte.
könnt ihr mir vielleicht helfen so einen code in vb zu schreibenß
dankeschön
so ich habe jetzt einmal halbwegs einen code gefunden, allerdings passt der noch nicht ganz.
ich möchte jetzt noch dass es erst ab der 2. zeile ausgegeben wird und nicht schon in der 1. weil da ist die überschrift.
hier der code:
Sub Random()
Dim intArr(1 To 60) As Integer
Dim intZ As Integer
Dim intP As Integer
Dim strP As String
Dim we As Integer
For intZ = 50 To 57 '0 bis 9
intArr(intZ - 49) = intZ
Next intZ
For intZ = 65 To 90 'A bis Z
intArr(intZ - 56) = intZ
Next intZ
For intZ = 97 To 122 'a bis z
intArr(intZ - 64) = intZ
Next intZ
Randomize
For intZ = 1 To 50 'Anzahl Passwörter
For intP = 1 To 15 'Anzahl Stellen des Passwortes
we = intArr(Int(58 \* Rnd + 1))
If we = 73 Or we = 79 Then we = we + 1
strP = strP & Chr(we)
Next intP
ActiveSheet.Cells(intZ, 4).Value = strP
strP = ""
Next intZ
End Sub
[MOD] - Tag repariert
die zufallsstrings sollen sagen wir mal, alle untereinander in
spalte D ausgegeben werden. für jede zeile einen anderen und
keiner soll gleich sein.
die strings sollen aus 15 zeichen bestehen, sowohl zahlen als
auch buchstaben, aber nicht die folgenden (1,i,I,l,L,o,O,0)
also alle die man beim händischen eintragen im nachhinein
miteinander verwechseln könnte.
könnt ihr mir vielleicht helfen so einen code in vb zu
schreibenß
Hi Manuel,
so vielleicht:
Sub tt()
Dim Zei As Long, N As Integer, B As String
Const Ausw As String = "23456789ABCDEFGHJKMNPQRSTUVWXYZ"
For Zei = 2 To Range("A" & Rows.Count).End(xlUp).Row
Cells(Zei, 4) = ""
For N = 1 To 15
B = Mid(Ausw, Int(Rnd() \* Len(Ausw) + 1), 1)
Cells(Zei, 4) = Cells(Zei, 4) & IIf((Int(Rnd() \* 2) = 0) = False, B, LCase(B))
Next N
Next Zei
End Sub
Gruß
Reinhard
danke für die hilfe. habe schon alles erledigt.