Generar contraseñas aleatorias en macro?

Como puedo generar contraseñas aleatorios

Incluir símbolos: ( ej. @#$% )

Incluir números: ( ej. 123456 )

Incluir letras en minúsculas: (ej. Abcdefgh )

Incluir letras en mayúsculas: (ej. ABCDEFGH )

Excluir caracteres similares: ( ej. I, l, 1, L, o, 0, O )

Ejemplo:

1.- Buscar cuantas hay los usuarios partir en la celda B1 hasta cuantas hay los usuarios y colocar la contraseña aleatorio en la celda B2 hasta E2.

Quiero un macro para generar contraseña

Respuesta
1

Con esta macro puede generar contraseñas aleatorias, se posiciona en el campo contraseña de cada usuario y ejecuta la macro

Va la macro

1 respuesta más de otro experto

Respuesta
1

Prueba la siguiente macro:

Sub CrearContraseñas()
  Dim sSim As String, sNum As String, sLet As String, sCad As String
  Dim arr As Variant, m As String
  Dim i As Long, j As Long, x As Long, y As Long, n As Long
  '
  sSim = "@#$%/\()-+*"              'Los símbolos que quieres
  sNum = "23456789"                 'Los números que quieres
  sLet = "abcdefghjmnpqrstuvwxyz"   'Las letras que quieres
  '
  sCad = sSim & sNum & sLet & UCase(sLet)
  n = Len(sCad)
  '
  For j = 2 To Cells(1, Columns.Count).End(1).Column
    Randomize
    arr = Evaluate("=row(1:" & n & ")")
    m = ""
    For i = 1 To n
      x = Int(UBound(arr) * Rnd + 1)
      y = arr(x, 1)
      arr(x, 1) = arr(i, 1)
      arr(i, 1) = y
    Next
    '
    For i = 1 To 8        'Número de caracteres en la contraseña
      m = m & Mid(sCad, arr(i, 1), 1)
    Next
    Cells(2, j).Value = m
  Next
End Sub

En las siguientes líneas escribe los símbolos, números y letras que deben aparecer en la contraseña. Si no quieres el cero o la letra O, simplemente no los pongas.

  sSim = "@#$%/\()-+*"              'Los símbolos que quieres
  sNum = "23456789"                 'Los números que quieres
  sLet = "abcdefghjmnpqrstuvwxyz"   'Las letras que quieres

Nota: No es necesario poner las Mayúsculas, la macro convierte las minúsculas que tu capturaste en mayúsculas.


En la siguiente línea pon el número de caracteres que quieres en la contraseña, actualmente te generan contraseñas de 8 caracteres:

For i = 1 To 8        'Número de caracteres en la contraseña

La macro pone las contraseñas en la fila 2, empezando en la celda B2 y hasta la última columna con datos que tengas en la fila 1.

Ejemplo del resultado:

Nota: Cada contraseña tendrá 8 caracteres distintos, es decir, ningún caracter se repite 2 veces en la misma contraseña.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas