Gerar CNPJs

Função Geradora de CNPJs em VBA

Para formatar o CNPJ com pontos e a barra, você pode adicionar uma função de formatação ou simplesmente alterar a linha final da função GerarCNPJValido para incluir a formatação desejada. Lembre-se de que, embora a função gere um número de CNPJ que atenda aos requisitos de formatação e aos dígitos verificadores, não significa que ele corresponda a uma empresa real, e seu uso deve se restringir a testes e simulações.

Function GerarCNPJValido() As String
    Dim base(11) As Integer
    Dim digito1 As Integer
    Dim digito2 As Integer
    Dim i As Integer
    Dim soma As Integer
    Dim resto As Integer
    Dim tempCnpj As String

    ' Gera os 12 primeiros dígitos do CNPJ de forma aleatória
    Randomize
    For i = 0 To 11
        base(i) = Int(Rnd() * 10)
        tempCnpj = tempCnpj & base(i)
    Next i

    ' Cálculo do primeiro dígito verificador
    soma = 0
    For i = 0 To 11
        soma = soma + base(i) * IIf(i < 4, 5 - i, 13 - i)
    Next i
    resto = soma Mod 11
    digito1 = IIf(resto < 2, 0, 11 - resto)

    ' Adiciona o primeiro dígito ao CNPJ
    tempCnpj = tempCnpj & digito1

    ' Cálculo do segundo dígito verificador
    soma = 0
    For i = 0 To 12
        soma = soma + Val(Mid(tempCnpj, i + 1, 1)) * IIf(i < 5, 6 - i, 14 - i)
    Next i
    resto = soma Mod 11
    digito2 = IIf(resto < 2, 0, 11 - resto)

    ' Retorna o CNPJ formatado
    GerarCNPJValido = tempCnpj & digito2
End Function



Caso queira receber esse arquivo Excel, contendo essa função, é só enviar um e-mail
solicitando para o endereço
marmitanao@gmail.com