Estou criando um userform que receberá o nome, email do remetente, email do destinatário, assunto e a descrição do email. Criei também um botão para enviar esse email, já tenho todo o código que faz esse envio mas estou com o seguinte problema:
preciso determinar o intervalo onde o programa pegará esses campos que informei anteriormente, no caso esse intervalo não serão células mas sim os campos do userform, como posso fazer isso?
Segue abaixo os códigos de envio do email:
Public WrkB As Workbook 'Cria variavel da Pasta de Trabalho Public WrkS As Worksheet 'Cria variavel da Planilha
Public IntervaloMailing As Range 'Cria Variavel com o Intervalo do Mailing Public Celula As Range 'Cria Variavel com o registro do Mailing
Public AppOutk As Outlook.Application 'Cria Variavel com a Aplicacao do Outlook Public MailOutk As Outlook.MailItem 'Cria Variavel com o objeto "Email" do Outlook
Public Sub MandarEmail()
Set WrkB = ThisWorkbook 'Define a pasta de Trabalho Set WrkS = WrkB.Sheets("Mailing")'Define a Planilha com os dados
Set IntervaloMailing = WrkS.Range("UserForm1") 'Define qual o intervalo do Mailing
With WrkS .Select For Each Celula In IntervaloMailing Call CriaEmail 'Chama a Rotina para Criar o Email Next End With
End Sub
Sub CriaEmail()
Set AppOutk = New Outlook.Application 'Define a aplicação do Outlook Set MailOutk = AppOutk.CreateItem(olMailItem)'Define o objeto "Email" da Aplicação Outlook
With MailOutk .Display .To = UserForm1.TextDestino.Value 'Coluna Para .CC = UserForm1.TextCopia.Value 'Coluna Com Cópia 'Coluna Copia Oculta .Subject = UserForm1.ComboBox1.Value 'Coluna Assunto .Body = UserForm1.TextDescricao.Value 'Coluna Corpo do Email .Display .Send End With
Set MailOutk = Nothing'Esvazia a variavel Set AppOutk = Nothing'Esvazia a variavel ThisWorkbook.Application.Quit
End Sub
Tentei inserindo o nome do user form na variável "intervalo mailing" mas o erro persiste. Poderiam me ajudar?