Gerar IE – SP

Função Geradora de Inscrição Estadual (IE) em VBA

Gerar números válidos de Inscrição Estadual (IE) de forma aleatória é uma tarefa complexa, pois cada estado do Brasil tem sua própria regra de formação e validação, incluindo dígitos verificadores específicos. Devido a essa complexidade, seria impraticável fornecer um código único que cubra todos os estados. No entanto, posso fornecer um exemplo básico para um estado específico. Vou escolher São Paulo como exemplo, mas tenha em mente que esta função não será aplicável para outros estados e a validação real de uma IE é mais complexa e deve ser feita utilizando as regras específicas de cada estado. Aqui está um exemplo de função em VBA para gerar Inscrição Estadual fictícia para o estado de São Paulo:

Function GerarIESaoPaulo() As String
    Dim BaseIE As String
    Dim Digito1 As Integer
    Dim Digito2 As Integer
    Dim i As Integer
    Dim soma As Integer

    Randomize

    ' Gerar os primeiros 8 dígitos de forma aleatória
    For i = 1 To 8
        BaseIE = BaseIE & Int(Rnd * 10)
    Next i

    ' Cálculo do primeiro dígito verificador
    soma = 0
    For i = 1 To 8
        If i = 1 Or i = 7 Then
            soma = soma + Val(Mid(BaseIE, i, 1)) * 1
        Else
            soma = soma + Val(Mid(BaseIE, i, 1)) * i
        End If
    Next i
    Digito1 = soma Mod 10

    ' Cálculo do segundo dígito verificador
    soma = 0
    For i = 1 To 8
        soma = soma + Val(Mid(BaseIE, i, 1)) * (i + 1)
    Next i
    soma = soma + Digito1 * 2
    Digito2 = soma Mod 10

    ' Combinar os números e os dígitos verificadores
    GerarIESaoPaulo = BaseIE & "-" & Digito1 & Digito2
End Function

Sub ImprimirInscricoesEstaduais()
    Dim i As Integer
    Dim IE As String

    ' Configurar a coluna A
    With Range("A:A")
        .NumberFormat = "@"
        .Font.Size = 14
    End With

    ' Gerar e imprimir 10 Inscrições Estaduais
    For i = 1 To 10
        IE = GerarIESaoPaulo()
        Cells(i, 1).Value = IE
    Next i
End Sub


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