MsgBox on passed date, multiple rows = multiple boxes, want 1 box all msgs.

SlootsJ

New Member
Joined
Oct 26, 2022
Messages
14
Office Version
  1. 2013
Platform
  1. Windows
VBA Code:
Private Sub Workbook_open()
   Dim r As Long
   Dim Msg As String
   With Sheets("HTL")
       For r = 11 To 69
           If .Range("C" & r).Value > 0 And .Range("W9").Value < .Range("N" & r).Value Then
               MsgBox .Range("C" & r).Value & " heeft nog 1 maand tot uitstroom."
           End If
       Next r
       End With
End Sub

I have created a MsgBox code wich works perfectly, except if 40 dates are between date range, it pops 40 seperate messageboxes, I want all rows wich meets the criterea in 1 box.
 

Excel Facts

What is the shortcut key for Format Selection?
Ctrl+1 (the number one) will open the Format dialog for whatever is selected.
Hi & welcome to MrExcel.
How about
VBA Code:
Private Sub Workbook_open()
   Dim r As Long
   Dim Msg As String
   With Sheets("HTL")
       For r = 11 To 69
           If .Range("C" & r).Value > 0 And .Range("W9").Value < .Range("N" & r).Value Then
               Msg = .Range("C" & r).Value & vbLf
           End If
       Next r
       If Msg <> "" Then MsgBox Msg & " heeft nog 1 maand tot uitstroom."
       End With
End Sub
 
Upvote 0
VBA Code:
Private Sub Workbook_open()
Dim r As Long
   Dim Msg As String
   With Sheets("HTL")
       For r = 11 To 69
           If .Range("C" & r).Value > 0 And .Range("AD" & r).Value < .Range("N" & r).Value Then
               Msg = .Range("C" & r).Value & vbLf
           End If
       Next r
       If Msg <> "" Then MsgBox Msg & " heeft nog 1 maand tot uitstroom."
       End With
End Sub

Hi, thanks for your reply! But now it only returns the last row wich complies to the criterea.
 
Upvote 0
Oops, it should be
VBA Code:
Private Sub Workbook_open()
   Dim r As Long
   Dim Msg As String
   With Sheets("HTL")
       For r = 11 To 69
           If .Range("C" & r).Value > 0 And .Range("W9").Value < .Range("N" & r).Value Then
               Msg = Msg & vbLf & .Range("C" & r).Value
           End If
       Next r
       If Msg <> "" Then MsgBox Msg & vbLf & " heeft nog 1 maand tot uitstroom."
       End With
End Sub
 
Upvote 0

Forum statistics

Threads
1,215,449
Messages
6,124,911
Members
449,195
Latest member
Stevenciu

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