ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   I want a msgbox when the contents of cell change (https://www.excelbanter.com/excel-programming/303979-re-i-want-msgbox-when-contents-cell-change.html)

Frank Kabel

I want a msgbox when the contents of cell change
 
Hi
use the following worksheet event code. Put this in your worksheet
module:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("C13:C15")) Is Nothing Then
Exit Sub
End If
with target
if .value = "AL" or .value="HDAY" then
msgbox "You entered: " & .value
end if
end with

End Sub

--
Regards
Frank Kabel
Frankfurt, Germany


Matt wrote:
I have a range of cells(C13:C15) that the user inputs data. There
are actually more cells that I want to check, but this is a sample.
What I want is for Excel to check the cell after the user inputs data
to see if they put in "AL" or "HDAY". If they put in "AL", then I
want a messagebox to come up saying that they entered "AL" and the
same for if they enter "HDAY". If they enter anything else in the
cell, I don't want it to do anything. I want this code to run
everytime a user inputs data in this range of cells. Thanks in
advance. Matt



Dick Kusleika[_2_]

I want a msgbox when the contents of cell change
 
Matt

Here's a non-macro solution in case you're interested. Select Validation
from the Data menu, Custom from the dropdown and put this in the formula box
(assuming you're in A1 when you do it)

=AND(A1<"HDAY",A1<"AL")

Then on the Error Alert Tab, change to Information and type in your message.
You can copy this validation to whatever cells you like. You don't get a
custom message - it would be the same for either value entered.

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com

Frank Kabel wrote:
Hi
use the following worksheet event code. Put this in your worksheet
module:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("C13:C15")) Is Nothing Then
Exit Sub
End If
with target
if .value = "AL" or .value="HDAY" then
msgbox "You entered: " & .value
end if
end with

End Sub


Matt wrote:
I have a range of cells(C13:C15) that the user inputs data. There
are actually more cells that I want to check, but this is a sample.
What I want is for Excel to check the cell after the user inputs data
to see if they put in "AL" or "HDAY". If they put in "AL", then I
want a messagebox to come up saying that they entered "AL" and the
same for if they enter "HDAY". If they enter anything else in the
cell, I don't want it to do anything. I want this code to run
everytime a user inputs data in this range of cells. Thanks in
advance. Matt




Matt

I want a msgbox when the contents of cell change
 
Thanks Frank. I have a couple of questions. First, what do I do if I already have code in the worksheet_change sub that references a different range a target? Will this cause a problem to have two different ranges referenced as target in the same sub? Also, when I stated that I wanted it to display a message box the actual message was different for each option(AL,HDAY). So I can't use this line of code.
if .value = "AL" or .value="HDAY" then
msgbox "You entered: " & .value
What I need is an if statement that checks for one or the other. My problem is when I split this up into an if and elseif, no matter which one the user enters, I always get the results of the if. Any suggestions. Thanks. Matt


"Frank Kabel" wrote:

Hi
use the following worksheet event code. Put this in your worksheet
module:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("C13:C15")) Is Nothing Then
Exit Sub
End If
with target
if .value = "AL" or .value="HDAY" then
msgbox "You entered: " & .value
end if
end with

End Sub

--
Regards
Frank Kabel
Frankfurt, Germany


Matt wrote:
I have a range of cells(C13:C15) that the user inputs data. There
are actually more cells that I want to check, but this is a sample.
What I want is for Excel to check the cell after the user inputs data
to see if they put in "AL" or "HDAY". If they put in "AL", then I
want a messagebox to come up saying that they entered "AL" and the
same for if they enter "HDAY". If they enter anything else in the
cell, I don't want it to do anything. I want this code to run
everytime a user inputs data in this range of cells. Thanks in
advance. Matt





All times are GMT +1. The time now is 06:12 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com