Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Berichtvenster éénmalig laten verschijnen  (gelezen 26893 keer)

0 leden en 1 gast bekijken dit topic.

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Berichtvenster éénmalig laten verschijnen
« Gepost op: 12 juli 2019, 10:07:15 »
In mijn bestand komt er een pop-up scherm als er in een cel een cijfer hoger is dan 750.
Maar nu zou ik mijn pop-up scherm maar 1 keer willen laten verschijnen, als ik op OK duw.
Want nu als ik in verschillende cellen cijfers veranderd komt er altijd dezelfde pop-up.

Kan je dat aanpassen? Dit is de code die ik gebruik:
Private Sub Worksheet_Change(ByVal Target As Range)
    Const Storten = 750
    Select Case Target.Row
        Case 7 To 37:      If Range("R7").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 43 To 70:     If Range("R43").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 77 To 109:    If Range("R79").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 113 To 144:   If Range("R115").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 149 To 181:   If Range("R151").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 185 To 216:   If Range("R187").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 221 To 253:   If Range("R223").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 257 To 289:   If Range("R259").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 293 To 324:   If Range("R296").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 329 To 361:   If Range("R331").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 365 To 396:   If Range("R367").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 403 To 433:   If Range("R404").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
    End Select
End Sub


Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.172
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #1 Gepost op: 12 juli 2019, 11:21:00 »
Hallo steelgate,

met een macro "Private Sub Worksheet_Change() gaat het niet lukken, want telkens je iets veranderd in je werkblad triggert dit de macro.
Citaat
als ik op OK duw
Dit gaat over je werkboek "ontvangsten.xlsm", maar in het oude vind ik geen knop "OK"?
Mogelijk heb je dit in de tijd veranderd, plaats dan toch beter een kopie van  je bestand waar je persoonlijke data vervangt door fictieve. Blad 2016, 2017, 2018 kan je weglaten.

:) SoftAid :)             

PS: "als er in een cel een cijfer hoger is dan 750"  >>>>   als er in een cel een waarde/getal hoger is dan 750
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #2 Gepost op: 12 juli 2019, 11:29:26 »
Dit klopt idd dat het gaat over ontvangsten

In bijlage heb ik een andere toegevoegd

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.172
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #3 Gepost op: 12 juli 2019, 11:41:49 »
Hallo steelgate,

ik zie nog geen knop "OK" waarschijnlijk bedoel je gewoon "Enter" drukken na invoer.
Maar.... Welke invoer? in welke cel?

Verder laat ik het aan de specialisten hier over  ;)

Groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #4 Gepost op: 12 juli 2019, 11:47:49 »
@softaid

Ik praat nu over de cellen van de maand juli
Als je in één van de cellen B223 (cash) iets invoert, wordt dit samen geteld in cel R223 als dit hoger ligt dan 750 krijg ik een pop-up en daar staat een knop OK in (zie bijlage foto)

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #5 Gepost op: 12 juli 2019, 11:59:27 »
Moet niet perse van 1 dag zijn, maar als ik bijvoorbeeld ma,di, woe al in totaal (cel R223) meer dan 750€ heb dan wil ik een pop up zien als ik moet storten.
Als ik op OK klik, moet het weg gaan en wil ik het niet meer zien als ik mijn andere cellen invul, want nu moet ik altijd dit weg klikken als ik mijn bc of visa invul.
Eénmaal opgeslagen en heb de volgende dag nog niet gestort, dan wil ik wel de pop up terug zien.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.172
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #6 Gepost op: 12 juli 2019, 12:04:12 »
Sorry, niet goed gelezen :-[.

Als je enkel een waarschuwing wilt voor het totaal voor een bepaalde periode (die wordt samengeteld in cel R223)
dan kan je toch beter gewoon die cel laten controleren door een Worksheet_Change-event en enkel naar die cel R223 kijken om een Berichtvenster te tonen, niet?
If Range("R223").Value > 750 Then MsgBox "STORTEN", vbInformation + vbOKOnlyIndien je niet reageert door te storten, en/of dus ook R223 niet aan te passen, dan krijg je volgende aanpassing die je ingeeft de waarschuwing opnieuw, anders niet...
Als je de waarschuwing negeert, en je ze maar eenmalig ziet, welk nut heeft ze dan?
Citaat
Eénmaal opgeslagen en heb de volgende dag nog niet gestort, dan wil ik wel de pop up terug zien.
Je kan je macro mogelijk nog zo aanpassen dat de melding maar 1 x per dag getoond wordt, door de datum een rol te laten spelen.

Ik denk maar hardop mee, ik ben geen Excel specialist. Ik probeer enkel logisch te denken.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #7 Gepost op: 12 juli 2019, 12:29:17 »
Hallo,

Je zou al heel wat vooruitgang boeken door rond je volledige code een extra voorwaarde op te nemen, bv. als volgt:
Private Sub Worksheet_Change(ByVal Target As Range)
   
If Target.Column = 2 Then
    Const Storten = 750
    Select Case Target.Row
        Case 7 To 37:      If Range("R7").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 43 To 70:     If Range("R43").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 77 To 109:    If Range("R79").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 113 To 144:   If Range("R115").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 149 To 181:   If Range("R151").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 185 To 216:   If Range("R187").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 221 To 253:   If Range("R223").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 257 To 289:   If Range("R259").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 293 To 324:   If Range("R296").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 329 To 361:   If Range("R331").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 365 To 396:   If Range("R367").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
        Case 403 To 433:   If Range("R404").Value >= Storten Then MsgBox "STORTEN", vbInformation + vbOKOnly
    End Select
End If

End Sub

Volstaat dit?

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #8 Gepost op: 12 juli 2019, 13:16:54 »
@softaid

Heb uw code eens getest maar krijg steeds een foutmelding compileerfout: ongeldig buiten procedure.
Ik negeer de melding niet, maar is voor mij gewoon een herinnering dat er teveel cash is en dat ik moet gaan storten. Is gewoon een hulpmiddel voor mij. Merci voor mee te denken ;-)

@pitufo heb u code ook eens getest maar alles blijft ook hetzelfde.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #9 Gepost op: 12 juli 2019, 13:47:39 »
Citaat
@pitufo heb u code ook eens getest maar alles blijft ook hetzelfde.
Tja, dat kan natuurlijk niet, hé ! Tenzij je maar heel povertjes hebt getest...

Eén van je bedenkingen was:
Citaat
nu moet ik altijd dit weg klikken als ik mijn bc of visa invul
Met mijn aanpassing is dat toch niet meer het geval (!?)

Er zijn wel nog wat andere (om niet te zeggen 'een massa') verbeteringen aan je werkboek mogelijk, maar daar bleef ik (voorlopig?) liever af omdat ik de mogelijkheid niet uitsloot dat je met mijn aanpassing al tevreden zou zijn.

Wordt dus eventueel vervolgd maar dat zal van jou afhangen...
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #10 Gepost op: 12 juli 2019, 13:58:11 »
@pitufo: heb het nog eens getest en ik zie echt geen verschil. Ik zie éénmaal als ik aan de 750€ kom een pop-up en als ik dan op OK klik is het weg, maar als ik in een andere cel een cijfer invoer en op enter duw, krijg ik terug de pop-up en de bedoeling is dat het maar 1 keer krijg.
Zet u eens je test.xlsm in bijlage, dan kijk eens of het bij u wel lukt.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #11 Gepost op: 12 juli 2019, 14:03:42 »
Ik hoef helemaal niet te kijken of het bij mij wel lukt, ik weet dat zo ook wel!
Daarom dit tegenvoorstel : voorbeeld hierbij zodat jij nog eens kan testen.
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #12 Gepost op: 12 juli 2019, 14:10:54 »
idd, bij u lukt het wel.  :) Ga eens kijken waar het probleem ligt.
Hou je op de hoogte.

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #13 Gepost op: 12 juli 2019, 14:16:56 »
Ik weet niet hoe het komt, maar bij wil dit niet lukken.
Moet toch gewoon de code maar kopieren en plakken in de vba?

Offline steelgate

  • Lid
  • *
  • Berichten: 56
  • Geslacht: Man
  • Oplossing.be
Re: Berichtvenster éénmalig laten verschijnen
« Reactie #14 Gepost op: 12 juli 2019, 14:20:37 »
Heb het gevonden, mijn oude code stond ook nog in een andere tabblad (blanco) en nu werkt wel.

Thanks @pitufo en ook softaid voor het meedenken ;-)

 


www.combell.com