Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Erro em Macro
Erro em Macro
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..
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..
- Rafael Monteiro
- Consultor
- Mensagens: 277
- Registrado em: Seg Nov 28, 2011 8:27 am
- Localização: Sorocaba - SP
- Contato:
Re: Erro em Macro
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
Re: Erro em Macro
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.
O que eu preciso na verdade é que esta macro funcione para as duas celulas independentes.
tanto para coluna K como para coluna R.
-
- Colaborador
- Mensagens: 98
- Registrado em: Qui Nov 01, 2012 2:37 pm
Re: Erro em Macro
Boa tarde Edudinha!
Pelo o que entendi faça o seguinte:
Altere esta linha:
linha = ActiveCell.Row - 1
If Target.Address = "$K,R$" & linha Then
Att,
Pelo o que entendi faça o seguinte:
Altere esta linha:
por esta:
linha = ActiveCell.Row - 1
If Target.Address = "$K$" & linha Then
linha = ActiveCell.Row - 1
If Target.Address = "$K,R$" & linha Then
Att,
Re: Erro em Macro
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.
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.