Generări aleatoare în Excel


Am scris anterior despre un generator de parole păstrat pe hârtie. O idee după un articol în care autorul scrie sec “You may use the RAND() function in an Excel spreadsheet to generate unique password cards.” Nu doar sec dar şi… fals. Nu sunt un utilizator avansat Excel dar documentaţia arată că RAND() generează doar numere aleatoare. M-am ambiţionat să văd cum se poate genera totuşi un tabel precum în articolul anterior şi, după ce am găsit ceva cod pe net l-am adaptat pentru nevoia noastră. Am scris astfel un macro VBScript de doar câteva linii care face exact ce dorim.

imagine

Deschideţi PentruParole.xls şi permiteţi activarea macroului (altfel îl deschideţi degeaba). Apăsaţi Alt+F8 şi veţi vedea ca mai sus o listă a macrourilor – cel mai probabil unul singur, numit tabelparola. Lansaţi-l (click pe Run) şi… magic… tabelul se schimbă automat, cu alte secvenţe aleatoare. Cum este posibil aşa ceva? Cu codul de mai jos.

[JSCRIPT]Sub tabelparola()

sir = Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57, _
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, _
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, _
97, 98, 99, 100, 101, 102, 103, 104, 105, 106, _
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, _
117, 118, 119, 120, 121, 122)

For i = 1 To 10
Range("A" & (i + 1)) = i
Next

For i = 1 To 13
Range(Chr(sir(10 + i)) & "1") = Chr(sir(2 * i + 8)) & Chr(sir(2 * i + 9))
Next

For i = 1 To 13
For j = 1 To 10
v = ""
For k = 1 To Evaluate("=randbetween(1,3)")
n = Evaluate("=randbetween(0,61)")
ch = Chr(sir(n))
v = v & ch
Next
Range(Chr(sir(10 + i)) & (j + 1)).Value = v
Next
Next
End Sub[/JSCRIPT]

Mai întâi am definit un şir unde avem codurile pentru caracterele 0-9, A-Z şi respectiv a-z. Apoi pe prima coloană am scris de la 1 la 10. Pe prima linie am scris literele de la A la Z, grupate câte două. Apoi în celulele corespunzătoare am scris secvenţe de 1, 2 sau 3 caractere din şirul definit anterior. Nu-i aşa că e simplu? Mai ales când ai deja codul în faţă.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 5,00 din 5)
Loading...Loading...

1 comentariu

  1. Mircea spune:

    Buna ziua,

    Interesanta ideea pt generarea parolelor. Eu nu am putut deschide fisierul „PentruParole.xls”.

    Ce se poate face?

    Astept sa-mi dati o solutie.

    Mircea


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *