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

=als() functie gebruiken om een macro te starten

Status
Niet open voor verdere reacties.

LindaVelde

Gebruiker
Lid geworden
11 jun 2015
Berichten
22
Mijn ervaring met VBA is wat ik tot nu toe succesvol heb kunnen kopiëren van anderen.
En ik kan een paar simpele macro's maken door ze op te nemen en te schrijven.

Daarom weet ik niet of ik nu een hele domme vraag stel of dat dit überhaupt haalbaar is.

Stel ik heb de volgende formule

=als(A1="X";Marco1;als(a1="Y";Macro2;""))

Daarmee wil ik dat als in cel A1 X staat Macro1 wordt uitgevoerd en als A1 Y is Macro2 wordt uitgevoerd.

Macro1 en macro2 zijn twee opgenomen macro's. In Cel A1 heb ik een formule staan die bepaald of het waarde X of Y wordt.

Kan dat zo makkelijk of moet ik daarvoor een apart scriptje maken in VBA?

(Mijn idee zou een stuk makkelijker zijn, daarom hoop ik dat het kan :D)
 
Dat kan wel maar Macro1 en Macro2 moeten dan functies (User Defined Functions) zijn die in een module zijn geplaatst. Een gewone Sub gaat dus niet werken.
 
Probeer deze code eens in de programmacode van het tabblad te zetten.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a1")) Is Nothing Then
    If Range("a1") = "x" Then Run "macro1"
    If Range("a1") = "y" Then Run "macro2"
    Else
    End If
End Sub

wanneer cel a1 wijzigt naar x zal macro1 gestart worden
wanneer cel a1 wijzigt naar y zal macro2 gestart worden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan