• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Pop-up bij opnenen Excelbestand

  • Onderwerp starter Onderwerp starter JanBG
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

JanBG

Verenigingslid
Lid geworden
30 aug 2017
Berichten
971
Ik heb een Excel boekhoudbestand waar ik graag bij het openen van het bestand een pop-up krijg als er nog facturen open staat waar ik een herinnering of aanmaning voor moet versturen. Ik ben nu al een tijdje aan het prutsen, maar kom er niet uit.

Iemand een idee?

Bekijk bijlage Map1.xlsm
 
Zo bijvoorbeeld:
Code:
Private Sub Workbook_Open()
    With Sheets("Debiteuren")
        For i = 3 To Range("A3").CurrentRegion.Rows.Count
            If LCase(Cells(i, 10)) = "ja" Or LCase(Cells(i, 11)) = "ja" Then
                msg = msg & .Cells(i, 2) & vbCrLf
            End If
        Next i
        If msg <> "" Then
            MsgBox msg, vbExclamation, "Herinnering/Aanmaning"
        End If
    End With
End Sub
 
Waarom maak je van je boekingen geen echte tabel? Dan hoef je de formules niet over hele kolommen te laten gaan.

Als alternatief voor de code van @edmoor kan je ook een array gebruiken.
Code:
Private Sub Workbook_Open()
  ar = Sheets("Debiteuren").Cells(1).CurrentRegion
  For j = 3 To UBound(ar)
    If Abs(ar(j, 10) = "Ja") + Abs(ar(j, 11) = "Ja") Then c00 = c00 & ar(j, 2) & vbCrLf
  Next j
  MsgBox IIf(Len(c00) > 0, c00, "Geen"), vbExclamation, "Herinnering/Aanmaning"
End Sub
 
Code:
Sub Workbook_Open()
  MsgBox Join([transpose(If(Debiteuren!J1:J100="ja","J" & row(1:100) & char(10),""))], "") & Join([transpose(If(Debiteuren!K1:K100="ja","K" & row(1:100) & char(10),""))], "")
End Sub
 
Dynamisch.
Code:
Sub hsv()
 Cells(1).CurrentRegion.Columns(10).Name = "bereik"
  MsgBox Join([transpose(if(bereik="Ja",offset(bereik,,-8)&char(10),if(offset(bereik,,1)="Ja",offset(bereik,,-8)&char(10),"")))], ""), vbExclamation, "Herinnering/Aanmaning"
 Application.Names("bereik").Delete
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan