
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