
Você pode chamar essa função em qualquer parte do seu código VBA para obter um CPF válido aleatório. No entanto, tenha em mente que esses CPFs são gerados de forma aleatória e podem não ser únicos ou pertencer a pessoas reais. Além disso, para propósitos de testes, essa abordagem é aceitável, mas a utilização de CPFs gerados aleatoriamente para outros fins pode ser ilegal ou antiética.
Para usar essa função, simplesmente chame GerarCPFValido() em seu código VBA, e ela retornará uma string com um número de CPF válido.
Function GerarCPFValido() As String
Dim cpf(8) As Integer
Dim digito1 As Integer
Dim digito2 As Integer
Dim tempCpf As String
Dim i As Integer
Dim peso As Integer
Dim soma As Integer
' Gera os 9 primeiros dígitos do CPF de forma aleatória
Randomize
For i = 0 To 8
cpf(i) = Int(Rnd() * 10)
tempCpf = tempCpf & cpf(i)
Next i
' Cálculo do primeiro dígito verificador
peso = 10
soma = 0
For i = 0 To 8
soma = soma + cpf(i) * peso
peso = peso - 1
Next i
digito1 = 11 - (soma Mod 11)
If digito1 >= 10 Then digito1 = 0
' Cálculo do segundo dígito verificador
peso = 11
soma = 0
For i = 0 To 8
soma = soma + cpf(i) * peso
peso = peso - 1
Next i
soma = soma + digito1 * 2
digito2 = 11 - (soma Mod 11)
If digito2 >= 10 Then digito2 = 0
' Retorna o CPF formatado
GerarCPFValido = tempCpf & digito1 & digito2
End Function