PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBATrigga makro när cell ändrasTrigga makro när cell ändras
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2017-11-30 18:15
 

Jag vill trigga ett makro när ett cellvärde ändras (cellen hämtar data från en SQL-query)

Jag försöker bli klog på worksheet_change-funktionen men får felet "Slut på stackutrymme" följt av krash när jag sätter koden i drift. Såhär har jag gjort: 

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim keycells As Range
Set keycells = Range("A3")
 
call kopiera_palldata
 
 
Jag inbildar mig att mitt makro, kopiera_palldata, ska köras när A3 ändras? Men något går snett.
Mitt makro ska spara värdet i cellen A3 till en variabel som senare skrivs ut i en annan cell på samma ark (olika cell beroende på vilken dag i veckan det är).
Nytt inlägg
 2017-12-01 07:03
 
Hej Hans

Ja , varje gång en cell ändras så triggas ditt macro. Vilket betyder att om du i din funktion, kopiera palldata, även skriver ut ett värde till en cell, så triggas worksheet_change igen.

Du hanterar lättast detta genom att stänga av event hantering direkt när den triggas första gången, och sätta på den igen när ditt macro gått klart.
(application.enableevents. Det kan också vara smart att se till att macrot endast körs när det är cell a3 som ändrats. Du ordnar det med att undersöka eventet triggades av a3. If target.address = keycells.address then...

Private Sub Worksheet_Change(ByVal Target As Range)

application.enableevents = false
Dim keycells As Range
Set keycells = Range("A3")

call kopiera_palldata
application.enableevents = true

mvh
Christian
Nytt inlägg
 2017-12-11 18:13
 

 Tack för hjälpen! 

Det fungerade kanon när jag stängde av enableevents men jag satte det som false precis innan makrot istället. Annars hände inget :-)

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim keycells As Range
Set keycells = Range("A3")

application.enableevents = false
call kopiera_palldata
application.enableevents = true

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBATrigga makro när cell ändrasTrigga makro när cell ändras

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter