![]() |
Sending an Outlook e-mail due to a condition in a cell..
Hi
Please help: I have a worksheet with a formula the changes a cell(J24) to either "ORDER" or "OK" ...i have used vb script with modifications: Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("J24"), Target) Is Nothing Then If Target.Value = "ORDER" Then Mail_with_outlook End If End If End Sub all works fine if i type ORDER into the cell(J24)..the e-mail is generated...but when the formula generates the result ORDER based on the formula...no e-mail is generated. I suspect this does not work beacuse of the Change event....but i don't know what else to use...as i am new to vb. Thanks For your time |
Sending an Outlook e-mail due to a condition in a cell..
You could use the Worksheet_Calculate event- somethin g
like this: Private Sub Worksheet_Calculate() If Range("J24").Value = "ORDER" Then Mail_with_outlook End Sub The problem with this is that it will send the mail every time the worksheet calculates- for example, if you enter a formula in another cell. To get round this, you could have a variable that remembers if a mail has already been sent- like this: Dim blnMailSent as Boolean Private Sub Worksheet_Calculate() If Range("J24").Value = "ORDER" And _ blnMailSent = False Then Mail_with_outlook blnMailSent = True End If End Sub Obviously, this variable will only hold its value as long as the workworrk is open. Next time it is openned another mail would be sent. Cheers, Dave. -----Original Message----- Hi Please help: I have a worksheet with a formula the changes a cell(J24) to either "ORDER" or "OK" ...i have used vb script with modifications: Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("J24"), Target) Is Nothing Then If Target.Value = "ORDER" Then Mail_with_outlook End If End If End Sub all works fine if i type ORDER into the cell(J24)..the e- mail is generated...but when the formula generates the result ORDER based on the formula...no e-mail is generated. I suspect this does not work beacuse of the Change event....but i don't know what else to use...as i am new to vb. Thanks For your time . |
Sending an Outlook e-mail due to a condition in a cell..
"Dave Ramage" wrote in message ...
You could use the Worksheet_Calculate event- somethin g like this: Private Sub Worksheet_Calculate() If Range("J24").Value = "ORDER" Then Mail_with_outlook End Sub The problem with this is that it will send the mail every time the worksheet calculates- for example, if you enter a formula in another cell. To get round this, you could have a variable that remembers if a mail has already been sent- like this: Dim blnMailSent as Boolean Private Sub Worksheet_Calculate() If Range("J24").Value = "ORDER" And _ blnMailSent = False Then Mail_with_outlook blnMailSent = True End If End Sub Obviously, this variable will only hold its value as long as the workworrk is open. Next time it is openned another mail would be sent. Cheers, Dave. -----Original Message----- Hi Please help: I have a worksheet with a formula the changes a cell(J24) to either "ORDER" or "OK" ...i have used vb script with modifications: Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("J24"), Target) Is Nothing Then If Target.Value = "ORDER" Then Mail_with_outlook End If End If End Sub all works fine if i type ORDER into the cell(J24)..the e- mail is generated...but when the formula generates the result ORDER based on the formula...no e-mail is generated. I suspect this does not work beacuse of the Change event....but i don't know what else to use...as i am new to vb. Thanks For your time . Hi Thanks Dave..it works...but just one more question .how do i make this work on a range of cells: Dim blnMailSent as Boolean Private Sub Worksheet_Calculate() If Range("J24:J30").Value = "ORDER" And _ blnMailSent = False Then Mail_with_outlook blnMailSent = True End If End Sub If i put the above("J24:J30") i get a error. Thanks again |
All times are GMT +1. The time now is 10:06 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com