
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