Página 1 de 1

(RESOLVIDO!) - Função Adiciona string em array

Enviado: 18 Set 2022 às 12:26
por eduardoadm
Tenho uma função que percorre uma lista e possui a condição se RANGE = "SIM" então uma variável recebe os valores das células ao lado adicionando. Gostaria que os valores desta variável fosse adicionado a um Array e no final a função retornasse os valores que estão contidos neste Array.
Código: Selecionar todos
Function validaLicenca()

    Dim cel As Range
    Dim CnaeExigivel As String
    Dim Cnaes As New ArrayList
    
    Worksheets("PlanCnae").Select
    
    For Each cel In Range("B21:Q80")
        If cel.Value = "SIM" Then
             
             CnaeExigivel = cel(1, -14).Value & " - " & cel(1, -12)
             
             Debug.Print CnaeExigivel
             
             Cnaes.Add (CnaeExigivel)
        End If
    Next cel
    validaLicenca = Cnaes.Items

End Function

Observação:
A Macro que chama a função cria um e-mail e insere os valores retornado da função no corpo de um e-mail.
Código: Selecionar todos
Sub Enviar_Email2()

'CnaeObrigatorioLicenca
Set objeto_outlook = CreateObject("Outlook.Application")
Set Email = objeto_outlook.createitem(0)
    
    validaLicenca 'Chama Função
    
    Email.display
    Email.To = "teste@gmail.com"
    Email.cc = "usuario@hotmail.com"
    Email.Subject = "Dispensa / Licença Ambiental"
    texto1 = "Prezados," & "<br><br>" & "Em consulta aos CNAEs da Empresa veriquei a obrigatóriedade de apresentação de licença ambiental para os CNAES abaixo:" & _
    "<br><br>" & validaLicenca & "<br><br>" & "Atenciosamente," & "<br>" & "Fulano de Tal"
    Email.HTMLBody = texto1
    Email.send

Re: Função Adiciona string em array

Enviado: 19 Set 2022 às 12:10
por Foxtri
Boa tarde.
Veja se pose ser desta maneira.
Até
Foxtri

Sub Enviar_Email2()
Dim Xvar As String
Set objeto_outlook = CreateObject("Outlook.Application")
Set Email = objeto_outlook.createitem(0)
Dim cel As Range
Dim CnaeExigivel As String
Worksheets("PlanCnae").Select
For Each cel In Range("Q21:Q80")
If cel.Value = "SIM" Then
CnaeExigivel = cel(1, -14).Value & " - " & cel(1, -12)
Xvar = Xvar & CnaeExigivel & "<br>"
End If
Next cel
Email.display
Email.To = "teste@gmail.com"
Email.cc = "usuario@hotmail.com"
Email.Subject = "Dispensa / Licença Ambiental"
texto1 = "Prezados," & "<br><br>" & "Em consulta aos CNAEs da Empresa veriquei a obrigatóriedade de apresentação de licença ambiental para os CNAES abaixo:" & _
"<br><br>" & Xvar & "<br>" & "Atenciosamente," & "<br>" & "Fulano de Tal"
Email.HTMLBody = texto1
Email.send
End Sub

(RESOLVIDO!) - Re: Função Adiciona string em array

Enviado: 19 Set 2022 às 23:01
por eduardoadm
Funcionou perfeitamente @Foxtri!

Muito obrigado!