Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 16 van 16

Onderwerp: Event macro

  1. #1
    Senior Member
    Geregistreerd
    30 augustus 2010
    Vraag is opgelost

    Event macro

    Geacht forum,

    In een exelsheet vul ik 2 getallen in.
    Als ik het 2e getal ingevuld heb klik ik op Enter
    Na het op Enter klikken moeten er bepaalde handelingen worden uitgevoerd
    Hoe moet het begin van de macro eruit zien?
    Vriendelijke groet , Jaap

  2. #2
    Giga Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    Zoiets:
    Als je in het gebied A1:A20 iets verandert, komt er in de cel daarnaast "test" en 5 cellen ernaast "nog een test" te staan.

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("A1:A20")) Is Nothing And Target.Count = 1 Then
       Target.Offset(, 1) = "test"
       Target.Offset(, 5) = "nog een test"
     End If
    End Sub
    Gr,
    JV

  3. #3
    Senior Member
    Geregistreerd
    30 augustus 2010
    J.Veer

    Nee , dat bedoelde ik niet
    Zal proberen wat uitgebreider uit te leggen.
    Bv.
    a) Ik klik in cel A10 en type daar het getal 25 (klik NIET op enter )
    b) Ik klik daarna in cel B10 en type daar het getal 10 (klik daarna WEL op enter en moet de Eventmacro pas starten)
    c) Aan de hand wat dan de active cel is moeten er bepaalde dingen uitgevoerd worden maar dat is niet het probleem

    Wat ik zoek is dus een oplossing dat de Macro pas start na op Enter gedrukt te hebben en niet eerder

  4. #4
    Giga Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    Wil je alleen dat de macro start als er in kolom B op enter gedrukt wordt?
    Gr,
    JV

  5. #5
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Hoe klik je op <Enter>? Virtueel toetsenbord of zo?
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  6. #6
    Senior Member
    Geregistreerd
    30 augustus 2010
    Ja dat klopt
    Nadat ik ik in kolom B het getal ingevoerd heb Druk ik op Enter

  7. #7
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Het Change event wordt altijd uitgevoerd als je een cel hebt gewijzigd en deze verlaat.
    Of dat nu met een toets gebeurd of door op een andere cel te klikken.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  8. #8
    Giga Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    Gewoon de range naar kolom B aanpassen lijkt mij

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B1:B20")) Is Nothing And Target.Count = 1 Then
       Target.Offset(, 1) = "test"
       Target.Offset(, 5) = "nog een test"
     End If
    End Sub
    Gr,
    JV

  9. #9
    Senior Member
    Geregistreerd
    30 augustus 2010
    JVeer,
    Oke , ga ik proberen

    Edmoor,

    De handeling die ik wil programmeren is dat , na op Enter gedrukt te hebben , ergens in die zelfde Kolom B
    ook getallen worden geplaatst
    Begrijp ik je goed als ik dan denk dat dan iedere keer de eventmacro steeds weer opnieuw uitgevoerd word
    want dat is niet de bedoeling

  10. #10
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Ja.
    Zoals ik al zei, het Change event wordt altijd uitgevoerd als je een cel hebt gewijzigd en deze verlaat.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  11. #11
    Giga Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    Dan gaat het mis inderdaad. Probeer het dan maar eerst even zo

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
     If Not Intersect(Target, Range("B1:B20")) Is Nothing And Target.Count = 1 Then
       Target.Offset(, 1) = "test"
       Target.Offset(, 5) = "nog een test"
     End If
    Application.EnableEvents = True
    End Sub
    Gr,
    JV

  12. #12
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Waar is het voorbeeldbestand? De vraag lijkt bij elke reactie te wijzigen.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  13. #13
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Als je bij het verlaten van een cel in kolom B wilt controleren of de vorige cel in kolom A was, kan je zoiets doen:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Static PrevRng As Range
        
        If Not PrevRng Is Nothing Then
            If Target.Column = 2 And PrevRng.Column = 1 Then
                MsgBox "We verlieten net kolom B en kwamen van kolom A"
            End If
        End If
        
        Set PrevRng = Target
    End Sub
    Wees er maar creatief mee
    Laatst aangepast door edmoor : 27 september 2021 om 20:16
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  14. #14
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Kijk eens naar Worksheet_SelectionChange icm Application.OnKey "{ENTER}" als het echt en enkel na een ENTER moet.
    Gr. Eric

  15. #15
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    Hiervoor is Excel niet ontworpen.

    Als je wil programmeren als reaktie op een aktie door een gebruiker (user), gebruik dan een Userform (what's in a name ?)
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  16. #16
    Senior Member
    Geregistreerd
    30 augustus 2010
    Ik denk dat ik niet op de juiste manier bezig ben
    Heb alle adviezen overwogen en geprobeerd en ga het op een andere manier realiseren
    Dit gaat te veel problemen geven
    Een ieder bedankt voor de reacties
    Heb evengoed toch wat van deze sessie opgestoken
    Vriendelijke groet Jaap

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren