GENECI escreveu: ↑21 Out 2021 às 14:43
Não mencionei, porém é bem pertinente,
há possibilidade de intercalar letras e números e uma letra em minúscula.
O código que passei faz exatamente o que você escreveu na planilha ~~~> "inserir 5 caracteres aleatórios composto de 2 números 3 letras".
Exemplo.
Ab587
8F57b
S8a75
Esses exemplos que você colocou aí acima não batem com o que você pediu, pois você pediu 2 números (o correto é 2 dígitos) e 3 letras, no entanto os seus exemplos mostram 3 dígitos e 2 letras
Explicando com outras palavras, um código aleatório, de 5 caracteres embaralhados, entre números letras maiúsculas e minúsculas e sem ordem definida.
O código abaixo gera strings com 5 caracteres, formados por 2 dígitos, duas maiúsculas e uma minúscula, em ordem aleatória.
Código: Selecionar todosPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim N1 As Long, N2 As Long, L1 As String, L2 As String, L3 As String
Dim Si As String, Sf As String, k As Long, x As Long, G As String
If Target.Column <> 2 Then Exit Sub
Randomize
L1 = Chr(Int((26 * Rnd) + 1) + 64): L2 = Chr(Int((26 * Rnd) + 1) + 96)
Do Until L1 <> UCase(L2)
L2 = Chr(Int((26 * Rnd) + 1) + 96)
Loop
L3 = Chr(Int((26 * Rnd) + 1) + 64)
Do Until L3 <> L1 And L3 <> UCase(L2)
L3 = Chr(Int((26 * Rnd) + 1) + 64)
Loop
N1 = Int(9 * Rnd): N2 = Int(9 * Rnd)
Do Until N1 <> N2
N2 = Int(9 * Rnd)
Loop
Sf = L1 & "," & N1 & "," & L2 & "," & N2 & "," & L3
For x = 1 To 5
k = Int(5 * Rnd) + 1
If Si = "" Then
Si = k
Else
If InStr(Si, k) = 0 Then
Si = Si & "," & k
Else
Do Until InStr(Si, k) = 0
k = Int(5 * Rnd) + 1
Loop
Si = Si & "," & k
End If
End If
Next x
For x = 0 To 4
k = Split(Si, ",")(x)
G = G & Split(Sf, ",")(k - 1)
Next x
Target.Value = G
End Sub
Osvaldo
Quatro coisas que odeio: preguiçosos, políticos, Google planilhas e Outlook

Anexe arquivos diretamente no fórum:
+ Resposta / Adicionar um anexo / Selecione o arquivo
CÉLULAS MESCLADAS PODEM AFETAR FÓRMULAS E MACROS.