Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Conditional popup

I am putting together a spreadsheet that allows a client to enter
ineterview criteria that is weighted etc. Part of this is allowing them
to change the weights (pervcentages). I would like for a popup message
to appear if the percentage goes over 100.

I have roughly put this together

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, 100% has been exceeded!"
End If
End Function

In the cell that shows total percentage I have =ValueCheck(B7:B28,100)

I would like to try make it pretty generic so I can check against other
values later.

As a 2nd, how can I out a variable in the msgBox message ie: instead of
100% just put Maximum.

TIA

W
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 244
Default Conditional popup

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, " & CStr(Maximum) & "% has been exceeded!"
End If
End Function


----- William Hamilton wrote: -----

I am putting together a spreadsheet that allows a client to enter
ineterview criteria that is weighted etc. Part of this is allowing them
to change the weights (pervcentages). I would like for a popup message
to appear if the percentage goes over 100.

I have roughly put this together

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, 100% has been exceeded!"
End If
End Function

In the cell that shows total percentage I have =ValueCheck(B7:B28,100)

I would like to try make it pretty generic so I can check against other
values later.

As a 2nd, how can I out a variable in the msgBox message ie: instead of
100% just put Maximum.

TIA

W

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Conditional popup

William,

You have a couple of problems with that function. First you cannot use SUM
directly in VBA. and if you use Target.Column, you will the column number of
the first cell summed,. not the values

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
Dim nSum As Double

nSum = WorksheetFunction.Sum(Target)
If nSum Maximum Then
Beep
MsgBox "Caution, your value of " & Format(nSum, "#,##0.0") & vbCrLf &
_
"exceeds the maximum value of " & Format(Maximum, "#,##0.0") &
"%"
End If
End Function


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"William Hamilton" wrote in
message ...
I am putting together a spreadsheet that allows a client to enter
ineterview criteria that is weighted etc. Part of this is allowing them
to change the weights (pervcentages). I would like for a popup message
to appear if the percentage goes over 100.

I have roughly put this together

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, 100% has been exceeded!"
End If
End Function

In the cell that shows total percentage I have =ValueCheck(B7:B28,100)

I would like to try make it pretty generic so I can check against other
values later.

As a 2nd, how can I out a variable in the msgBox message ie: instead of
100% just put Maximum.

TIA

W



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,824
Default Conditional popup

First, Bob fixed your code, but I'm not sure I'd use a msgbox in a function that
will be called from the worksheet.

Each time it recalculates, I could get a msgbox that I have to dismiss before I
finish making corrections.

And if you use it lots of places, you could get really irritated.

Stealing Bob's code:

Option Explicit

Function ValueCheck(ByVal Target As Range, Maximum As Long) As String
Dim nSum As Double

ValueCheck = "Ok"
nSum = WorksheetFunction.Sum(Target)
If nSum Maximum Then
Beep
ValueCheck = "Caution, your value of " & Format(nSum, "#,##0.0") _
& " exceeds the maximum value of " & _
Format(Maximum, "#,##0.0") & "%"
End If
End Function

(I'd lose the beep, too!)

But for things like this, I think I'd stick with worksheet formulas.





Bob Phillips wrote:

William,

You have a couple of problems with that function. First you cannot use SUM
directly in VBA. and if you use Target.Column, you will the column number of
the first cell summed,. not the values

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
Dim nSum As Double

nSum = WorksheetFunction.Sum(Target)
If nSum Maximum Then
Beep
MsgBox "Caution, your value of " & Format(nSum, "#,##0.0") & vbCrLf &
_
"exceeds the maximum value of " & Format(Maximum, "#,##0.0") &
"%"
End If
End Function

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"William Hamilton" wrote in
message ...
I am putting together a spreadsheet that allows a client to enter
ineterview criteria that is weighted etc. Part of this is allowing them
to change the weights (pervcentages). I would like for a popup message
to appear if the percentage goes over 100.

I have roughly put this together

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, 100% has been exceeded!"
End If
End Function

In the cell that shows total percentage I have =ValueCheck(B7:B28,100)

I would like to try make it pretty generic so I can check against other
values later.

As a 2nd, how can I out a variable in the msgBox message ie: instead of
100% just put Maximum.

TIA

W


--

Dave Peterson

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Conditional popup

Thanks for the help guys, Dave, Bob and Chris. I will show the client
with/without msgbox and see which they prefer, I am with you on the
annoyance factor Dave.


Thanks again.

W


Dave Peterson wrote:
First, Bob fixed your code, but I'm not sure I'd use a msgbox in a function that
will be called from the worksheet.

Each time it recalculates, I could get a msgbox that I have to dismiss before I
finish making corrections.

And if you use it lots of places, you could get really irritated.

Stealing Bob's code:

Option Explicit

Function ValueCheck(ByVal Target As Range, Maximum As Long) As String
Dim nSum As Double

ValueCheck = "Ok"
nSum = WorksheetFunction.Sum(Target)
If nSum Maximum Then
Beep
ValueCheck = "Caution, your value of " & Format(nSum, "#,##0.0") _
& " exceeds the maximum value of " & _
Format(Maximum, "#,##0.0") & "%"
End If
End Function

(I'd lose the beep, too!)

But for things like this, I think I'd stick with worksheet formulas.





Bob Phillips wrote:

William,

You have a couple of problems with that function. First you cannot use SUM
directly in VBA. and if you use Target.Column, you will the column number of
the first cell summed,. not the values

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
Dim nSum As Double

nSum = WorksheetFunction.Sum(Target)
If nSum Maximum Then
Beep
MsgBox "Caution, your value of " & Format(nSum, "#,##0.0") & vbCrLf &
_
"exceeds the maximum value of " & Format(Maximum, "#,##0.0") &
"%"
End If
End Function

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"William Hamilton" wrote in
message ...

I am putting together a spreadsheet that allows a client to enter
ineterview criteria that is weighted etc. Part of this is allowing them
to change the weights (pervcentages). I would like for a popup message
to appear if the percentage goes over 100.

I have roughly put this together

Function ValueCheck(ByVal Target As Range, Maximum As Integer)
If Sum(Target.Column) Maximum Then
Beep
MsgBox "Caution, 100% has been exceeded!"
End If
End Function

In the cell that shows total percentage I have =ValueCheck(B7:B28,100)

I would like to try make it pretty generic so I can check against other
values later.

As a 2nd, how can I out a variable in the msgBox message ie: instead of
100% just put Maximum.

TIA

W





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Picture popup TheSAguy Excel Discussion (Misc queries) 2 May 28th 08 06:17 PM
A popup to filter out what you don't need. simplymidori[_2_] Excel Discussion (Misc queries) 3 July 27th 07 04:27 PM
Popup MsgBox jackle Excel Discussion (Misc queries) 1 February 13th 06 03:44 AM
"Why did we get here????" popup jtwspoon Excel Discussion (Misc queries) 3 February 4th 05 04:57 AM
Are you sure popup box Todd Huttenstine[_2_] Excel Programming 2 November 9th 03 09:38 PM


All times are GMT +1. The time now is 09:29 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"