Msgbox when any one of a number of subtotals has been exceeded

Ironman

Well-known Member
Joined
Jan 31, 2004
Messages
1,069
Office Version
  1. 365
Platform
  1. Windows
Hi

A2:A243 (which is added to regularly) contains values and subtotals for each year.

The subtotals for each year are identified in blue and by a formula in Column B.

I need a message box to appear when the value in cell A245 exceeds a subtotal.

If a trigger cell is needed, then C245 can be used (so I can easily see it), although this will need to change when a new entry is added.

Many thanks!

Book1
AB
210
211136Tue 28/01/2020
212152Wed 05/02/2020
213144Sun 09/02/2020
214166Thu 13/02/2020
215156Mon 17/02/2020
216100Fri 21/02/2020
21798Tue 25/02/2020
21897Sat 29/02/2020
219126Wed 04/03/2020
220142Sun 08/03/2020
221103Thu 12/03/2020
22211TOTAL FOR 2020
223
224135Tue 22/06/2021
22557Sat 26/06/2021
226154Wed 30/06/2021
2277Sun 04/07/2021
228120Mon 12/07/2021
229124Fri 16/07/2021
23051Tue 20/07/2021
231162Sat 24/07/2021
23272Wed 28/07/2021
233101Sun 01/08/2021
2343Thu 05/08/2021
235110Mon 09/08/2021
23640Fri 13/08/2021
23777Tue 17/08/2021
23844Sat 21/08/2021
23968Wed 25/08/2021
2402Sun 29/08/2021
24189Thu 02/09/2021
2424Mon 06/09/2021
24376Fri 10/09/2021
244
24520TOTAL FOR 2021
Iron Man Log
Cell Formulas
RangeFormula
A224:A243,A211:A221A211=RANK(D211,$D$2:$D$245)
A222A222=COUNT(A211:A221)
B222B222="TOTAL FOR " & YEAR(B221)
A245A245=COUNT(A224:A244)
B245B245="TOTAL FOR " & YEAR(B243)
Named Ranges
NameRefers ToCells
Iron_Mans_2020='Iron Man Log'!$A$211:$A$221A222
Cells with Conditional Formatting
CellConditionCell FormatStop If True
A210Cell Value=""textNO
A245Cell Value=""textNO
A244Cell Value=""textNO
A222Cell Value=""textNO
A223Cell Value=""textNO
A2:A6,A211:A221,A182:A208,A177:A179,A153:A174,A149:A150,A138:A146,A112:A135,A98:A109,A90:A95,A87,A78:A84,A75,A68:A72,A58:A65,A55,A50:A52,A38:A43,A35,A23:A32,A9:A20,A224:A243,A46:A47Cell Value=1textYES
A2:A6,A211:A221,A182:A208,A177:A179,A153:A174,A149:A150,A138:A146,A112:A135,A98:A109,A90:A95,A87,A78:A84,A75,A68:A72,A58:A65,A55,A50:A52,A38:A43,A35,A23:A32,A9:A20,A224:A243,A46:A47Cell Value=2textYES
A2:A6,A211:A221,A182:A208,A177:A179,A153:A174,A149:A150,A138:A146,A112:A135,A98:A109,A90:A95,A87,A78:A84,A75,A68:A72,A58:A65,A55,A50:A52,A38:A43,A35,A23:A32,A9:A20,A224:A243,A46:A47Cell Valuebetween 3 and 10textYES
A2:A6,A211:A221,A182:A208,A177:A179,A153:A174,A149:A150,A138:A146,A112:A135,A98:A109,A90:A95,A87,A78:A84,A75,A68:A72,A58:A65,A55,A50:A52,A38:A43,A35,A23:A32,A9:A20,A224:A243,A46:A47,A246:A531Cell Value=""textNO
Cells with Data Validation
CellAllowCriteria
A245Whole number=12345
A222Whole number=12345
 
F8...
 

Attachments

  • code.png
    code.png
    48.1 KB · Views: 9
Upvote 0

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.
Btw I just amended the formula in B223 (and changed it back to how it was) and I got the 2 msgboxes - I thought the row above the blank row was out of the "CurrentRegion" range?
198<<< TOTAL No. IRON MAN RUNS 1984-2021

Is this maybe why the msgboxes are showing incorrect results?
 
Upvote 0
The reason you don't see the variable values when you hover over them is because you probably don't have "Auto Data Tips" turned on.
In the VBA window...Tools>>Options>>Editor tab>>tick all boxes

1631488298618.png
 
Upvote 0
Hi Michael - thanks, I've just done as you've suggested and that box is already checked, although 'require variable declaration' isn't checked.

If as you say, there's no issue with the code, I don't understand why the msgboxes don't make logical sense!
 
Upvote 0
In the VBA window...Tools>>Options>>Editor tab>>tick all boxes
 
Upvote 0
Hi Michael, doing the above didn't make any difference to what I was able to see.

I opened a blank workbook and copied the data into the same rows, with no data in the cells above and it still returned the same incorrect messages I received before (i.e. changed value of 24 in cell A241 to 1 and still returned "surpassed number of < 3hrs for 2007", and "runs > 3hrs for 2004" when neither have been exceeded), so it must be selecting the same incorrect cells on your sheet?

Thanks again!
 
Upvote 0
Morning Michael!

Yes and yes, I get the row highlighting, but when I "hover the mouse over the n=" with the window focused on the code, I don't see anything?
Even if you don't see variable values as tips you can always check the value and status of a variable at runtime in the Locals Window or using the Immediate window.
 
Upvote 0
Ah thanks Bob, I'll try that. Everything in this area is new to me.
 
Upvote 0
Try using....
VBA Code:
Private Sub Worksheet_Change(ByVal target As Range)
Dim r As Long, lr As Long, n As Integer, fr As Long, X As Integer
If Intersect(target, Range("A:A", "D:D")) Is Nothing Then Exit Sub
lr = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A" & lr).CurrentRegion
fr = rng.Row + 1
n = Evaluate("=MAX(IF(A" & fr & ":A" & lr - 1 & "<A" & lr & ",A" & fr & ":A" & lr - 1 & ",""""))")
X = Evaluate("=MAX(IF(D" & fr & ":D" & lr - 1 & "<D" & lr & ",D" & fr & ":D" & lr - 1 & ",""""))")
For r = lr - 1 To fr Step -1
If n = Cells(r, 1) Then
    MsgBox "You've just surpassed the number of runs <= 3 hrs for " & Cells(r, 1).Offset(0, 1).Value
    n = 100
    End If
If X = Cells(r, 4) Then
    MsgBox "You've just surpassed the number of runs > 3hrs for " & Cells(r, 4).Offset(0, 1).Value
    X = 100
End If
Next r
End Sub
 
Upvote 0

Forum statistics

Threads
1,223,909
Messages
6,175,313
Members
452,634
Latest member
cpostell

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top