Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Erro em Macro

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Edudinha
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sáb Out 22, 2011 12:03 pm

Erro em Macro

Mensagem por Edudinha »

Bom dia! Colegas

Tenho a macro abaixo que envia email automatico quando altero a celula K da referente linha que eu estiver usando, portanto, como faço para esta macro enviar o mesmo email caso eu necessite mudar por exemplo a celula R , ou seja duas condições se eu alterar a celula K ela manda email se eu alterar a celula R ela tambem manda o mesmo email.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim OutApp As Object
Dim OutMail As Object
Dim texto As String

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

linha = ActiveCell.Row - 1
If Target.Address = "$K$" & linha Then

If Plan1.Cells(linha, 11) = "INAPTO" Then
texto = "Prezado(a) " & Plan1.Cells(linha, 1) & "," & vbCrLf & vbCrLf & _
"O A.S.O. da empresa " & Plan1.Cells(linha, 2) & " do colaborador " & _
Plan1.Cells(linha, 3) & " foi alterado." & vbCrLf & _
" Veja informações abaixo:" & vbCrLf & _
" Status: " & Plan1.Cells(linha, 11) & vbCrLf & _
" Ação tomada: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
"Atenciosamente," & vbCrLf & _
"Medicina do Trabalho"
End If

With OutMail
.TO = Plan1.Cells(linha, 1)
.CC = ""
.BCC = ""
.Subject = "Alteração A.S.O"
.Body = texto
.Display 'Utilize Send para enviar o email sem abrir o Outlook
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub

poderiam me dar um ajuda..


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Rafael Monteiro
Consultor
Consultor
Mensagens: 277
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Sorocaba - SP
Contato:

Re: Erro em Macro

Mensagem por Rafael Monteiro »

Veja esse código, talvez ajude.

Código: Selecionar todos

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("a2").Address Then
MsgBox "Você editou a célula a2"
End If
Exit Sub

End Sub



Edudinha
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sáb Out 22, 2011 12:03 pm

Re: Erro em Macro

Mensagem por Edudinha »

bom dia! Rafael

O que eu preciso na verdade é que esta macro funcione para as duas celulas independentes.

tanto para coluna K como para coluna R.


Marciel Silva
Colaborador
Colaborador
Mensagens: 98
Registrado em: Qui Nov 01, 2012 2:37 pm

Re: Erro em Macro

Mensagem por Marciel Silva »

Boa tarde Edudinha!

Pelo o que entendi faça o seguinte:

Altere esta linha:

linha = ActiveCell.Row - 1
If Target.Address = "$K$" & linha Then
por esta:

linha = ActiveCell.Row - 1
If Target.Address = "$K,R$" & linha Then


Att,


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Edudinha
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sáb Out 22, 2011 12:03 pm

Re: Erro em Macro

Mensagem por Edudinha »

caro Marciel

Obrigado pela sua dica, portanto preciso que esta macro tambem reconheça a linha como por exemplo a coluna K é a 11ª linha a coluna R seria a 12ª, fiz conforme voce me disse e ao colocar

If Target.Address = "$K,R$" & linha Then

Eu tambem preciso tambem alterar para linha 12 tentei por conforme abaixo e deu .

If Plan1.Cells(linha, 11,12) = "INAPTO" Then

Preciso tambem que ele só mande o email quando digitar INAPTO, pois quando eu digito INPTO ele manda o texto correto, e quando digita qualquer coisa ele abre o outloc com o endereço correto sem texto. Pode me ajudar.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder