Making LETARAD Trigger en Makro

December 12

Mike använder LETARAD regelbundet i sina kalkylblad, men undrar om det finns ett sätt att göra funktionen köra ett makro om den misslyckas att returnera ett värde.

Det finns ett par sätt som du kan närma detta problem. Först kan du använda en villkorlig formel för att avgöra om LETARAD returnerar ett värde eller ett fel. Om den ger ett fel, då kan du ha formeln kör en användardefinierad funktion (MyUDF), som visas här:

= IF (ISERROR (LETARAD (B2, koder 1, FALSKT)), MyUDF (),
LETARAD (B2, koder 1, FALSKT))

Allt du behöver göra är att se till att du sätter din faktiska LETARAD koden i formeln (två gånger) och byt MyUDF med namnet på den användardefinierade funktion du vill utlösa.

En annan metod är att inrätta en händelsehanterare för Beräkna händelsen. Detta kan vara ganska enkelt, såsom i det följande:

Private Sub Worksheet_Calculate ()
Om ÄRFEL (Range ("A1")) Sen Call Makro1
End Sub

Detta exempel förutsätter att LETARAD formeln i cell A1 och att du vill köra ett makro som heter Makro1 om LETARAD returnerar ett fel. Din makro kan sedan göra vad du behöver det för att göra. Kom ihåg, liksom, att Beräkna händelsehanterare ska placeras i ThisWorksheet objektet.

Du kan också göra Beräkna händelsehanterare lite mer robust, så som visas här:

Private Sub Worksheet_Calculate ()
On Error GoTo myMac
Arbetsblad (1) .Select
Om Range ("A1"). Value sedan
Exit Sub
End If
myMac:
Makro1 "makro att köra om LETARAD misslyckas
End Sub

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (10107) gäller Microsoft Excel 2007 och 2010. Du kan hitta en version av detta tips för den äldre menygränssnittet i Excel här: Göra LETARAD Trigger ett makro.