Start makro, når en betingelse i en Excel -tabel er opfyldt

Indholdsfortegnelse

Du kan bruge et trick til at starte en makro, så snart en IF -funktion i dit Excel -regneark leverer et bestemt resultat

En makro skal udføres i en Excel -tabel, så snart en IF -tabelfunktion returnerer en logisk værdi. Ellers skal en tekst bare vises.

Du løser dette problem med en brugerdefineret VBA-funktion. Du arbejder med en funktionsprocedure i stedet for en underprocedure.

Hvis der allerede er en makro, du vil starte med en IF -funktion, kan du kopiere koden til funktionsproceduren eller kalde subproceduren fra den.

En makro med navnet "Startmacro" bruges som et eksempel og åbner kun en simpel dialogboks. Følg disse trin:

  1. Start først VBA -editoren. Du kan gøre dette i alle versioner af Excel ved hjælp af tastekombinationen ALT F11.
  2. Vælg kommandoen INSERT - MODULE for at indsætte et nyt modulark.

Indtast følgende VBA -kommandoer:

Offentlig funktion Startmakro () Som streng
Opkaldsannonce
Start makro = "Startet."
Afslut funktion
Undervisning ()
MsgBox "Makro startet"
Afslut Sub

Programkoden består af to separate dele. Det første fragment repræsenterer den nye STARTMAKRO -bordfunktion. Det andet fragment bruges til at vise teksten "Makro er startet."

Når du har indtastet kommandoerne, skal du ringe til kommandoen CLOSE AND RETURN TO MICROSOFT EXCEL i menuen FIL i VBA -editoren. Dette bringer dig tilbage til dit bord.

Sådan inkluderes makroen i en IF -funktion

For at se, om makroen fungerer korrekt, skal du indtaste følgende funktion i celle A2 i en tabel:

= HVIS (A1 = 1; startmakro (); "Ikke startet.")

Hvis du indtaster tallet 1 i celle A1, vil makroen blive kaldt af din brugerdefinerede funktion. Meddelelsesvinduet vises som vist i følgende figur:

Så er der teksten "Startet". I cellen. Den brugerdefinerede regnearksfunktion returnerede dette resultat til Excel.

Hvis celle A1 har et andet indhold end 1, startes makroen ikke. I dette tilfælde indstiller IF -funktionen teksten "Ikke startet". som resultat

Den præsenterede sti er en praksis, som Microsoft ikke anbefaler. Beskedvinduer bør ikke vises inden for brugerdefinerede funktioner.

Det er ikke nødvendigt at adskille de to makroer START MAKRO og DISPLAY. Du kan også undvære CALL -kommandoen i VBA -makroen og inkludere kommandoerne for underprogrammet direkte i FUNCTION -underprogrammet.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave