• 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.

Macro starten bij bepaalde celwaarde

Status
Niet open voor verdere reacties.

Lafamilia

Gebruiker
Lid geworden
25 jun 2019
Berichten
9
Hallo allen,

Ik heb onderstaande code in VBA staan:

Code:
If Target.Column = 28 And Target >= 366 Then
      UserForm61.Show
      End If

Als ik handmatig (in de desbetreffende kolom) een random getal boven de 366 invul dan wordt Userform61 wel opgevraagd maar bij onderstaande niet:

In cel D4 heb ik de huidige datum staan. Cel AA4 een datum die automatisch uit een reeks wordt gehaald.

In cel AB4 staat de formule: =D4-AA4 als de uitkomst hoger is dan 366 dan dient Userform61 te worden opgevraagd maar dat doet hij niet. Wel als ik het handmatig invoer. Wat doe ik hier fout?
 
Die drie regeltjes zeggen niet veel.
Laat ook zien bij welke gebeurtenis (event) je die code laat uitvoeren.
 
Een formule triggert geen Change_Event. Dus wanneer moet wat gebeuren? 61 formulieren lijkt mij ook wel wat veel.
 
Bedoel je dit?

Of bedoel je wat VenA schrijft, dat na de uitkomst het formulier moet komen.
Dan weet ik geen oplossing.

Als je na de uitkomst op de cel klikt komt het formulier wel.
 

Bijlagen

  • Start Macro.xlsm
    18,5 KB · Weergaven: 43
Probeer het eens zo, misschien lukt het nu wel.
Code:
Private Sub Worksheet_Calculate()
  If Range("AB4").Value >= 366 Then UserForm61.Show
End Sub
 
Bedoel je dit?

Of bedoel je wat VenA schrijft, dat na de uitkomst het formulier moet komen.
Dan weet ik geen oplossing.

Als je na de uitkomst op de cel klikt komt het formulier wel.

Yes dit bedoel ik... als de uitkomst hoger is dan 366 dan moet de macro starten. Maar bij jouw voorbeeldje moet je eerst de cel selecteren... kan de macro ook direct gestart worden zonder de cel te selecteren?
 
Het voorstel in #5 heb je ook gelezen?
 
Tuurlijk. Plaats het bestand maar even dat praat wat makkelijker. Of een identiek voorbeeld als er gevoelige gegevens instaan.
 
In in .xlsx staat over het algemeen niet zoveel code.
 

cow18... het werkt perfect maar als ik een artikelnummer verkeerd erin heb gezet en ik druk op delete dan krijg ik een foutmelding in beeld. Kan het zo aangepast worden als je artikelnummer wist dat er dan geen foutmelding in beeld komt. (Runtime error 13 "type mismatch") komt dan in beeld...
 
Het resultaat staat altijd al in kolom AA door je formule.

Volgens mij kan het gewoon zo als je een getal in kolom G invoert.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("G")) Is Nothing Then
        If Target.Offset(, 20).Value > 366 Then MsgBox "userform1.Show"
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan