Εκκίνηση μακροεντολής όταν πληρείται μια συνθήκη σε έναν πίνακα Excel

Πίνακας περιεχομένων

Μπορείτε να χρησιμοποιήσετε ένα τέχνασμα για να ξεκινήσετε μια μακροεντολή μόλις μια συνάρτηση IF στο υπολογιστικό φύλλο του Excel σας δώσει ένα συγκεκριμένο αποτέλεσμα

Μια μακροεντολή πρέπει να εκτελεστεί σε έναν πίνακα Excel μόλις μια συνάρτηση πίνακα IF επιστρέψει μια λογική τιμή. Διαφορετικά, ένα κείμενο πρέπει απλώς να εμφανιστεί.

Επιλύετε αυτό το πρόβλημα με μια συνάρτηση VBA που ορίζεται από το χρήστη. Δουλεύετε με μια διαδικασία συνάρτησης και όχι με μια διαδικασία υπο.

Εάν υπάρχει ήδη μια μακροεντολή που θέλετε να ξεκινήσετε με μια λειτουργία IF, μπορείτε να αντιγράψετε τον κώδικα στη διαδικασία Function ή να καλέσετε τη διαδικασία Sub από αυτήν.

Μια μακροεντολή με το όνομα "Startmacro" χρησιμοποιείται ως παράδειγμα και καλεί μόνο ένα απλό παράθυρο διαλόγου. Ακολουθήστε αυτά τα βήματα:

  1. Πρώτα ξεκινήστε τον επεξεργαστή VBA. Μπορείτε να το κάνετε σε όλες τις εκδόσεις του Excel χρησιμοποιώντας τον συνδυασμό πλήκτρων ALT F11.
  2. Επιλέξτε την εντολή INSERT - MODULE για να εισαγάγετε ένα νέο φύλλο ενότητας.

Εισαγάγετε τις ακόλουθες εντολές VBA:

Public Function Startmakro () As String
Διαφήμιση κλήσης
Έναρξη μακροεντολής = "Ξεκίνησε."
Λειτουργία τερματισμού
Υπο -οθόνη ()
MsgBox "Η μακροεντολή ξεκίνησε"
Τέλος υπο

Ο κωδικός προγράμματος αποτελείται από δύο ξεχωριστά μέρη. Το πρώτο τμήμα αντιπροσωπεύει τη νέα συνάρτηση πίνακα STARTMAKRO. Το δεύτερο τμήμα χρησιμοποιείται για την εμφάνιση του κειμένου "Η μακροεντολή ξεκίνησε".

Αφού εισαγάγετε τις εντολές, καλέστε την εντολή ΚΛΕΙΣΙΜΟ ΚΑΙ ΕΠΙΣΤΡΟΦΗ ΣΤΟ MICROSOFT EXCEL στο μενού FILE στο πρόγραμμα επεξεργασίας VBA. Αυτό σας επαναφέρει στο τραπέζι σας.

Πώς να συμπεριλάβετε τη μακροεντολή σε μια συνάρτηση IF

Για να δείτε αν η μακροεντολή λειτουργεί σωστά, εισαγάγετε την ακόλουθη συνάρτηση στο κελί Α2 ενός πίνακα:

= IF (A1 = 1; startmakro (); "Δεν ξεκίνησε.")

Εάν εισαγάγετε τον αριθμό 1 στο κελί Α1, η μακροεντολή θα κληθεί από τη συνάρτηση που ορίσατε από το χρήστη. Το παράθυρο μηνύματος εμφανίζεται όπως φαίνεται στο παρακάτω σχήμα:

Στη συνέχεια, υπάρχει το κείμενο "Ξεκίνησε". Στο κελί. Η συνάρτηση υπολογιστικού φύλλου που ορίζεται από τον χρήστη επέστρεψε αυτό το αποτέλεσμα στο Excel.

Εάν το κελί Α1 έχει περιεχόμενο διαφορετικό από 1, η μακροεντολή δεν ξεκινά. Σε αυτήν την περίπτωση, η συνάρτηση IF ορίζει το κείμενο "Δεν ξεκίνησε". σαν άποτέλεσμα

Η διαδρομή που παρουσιάζεται είναι μια πρακτική που η Microsoft δεν συνιστά. Τα παράθυρα μηνυμάτων δεν πρέπει να εμφανίζονται μέσα σε λειτουργίες που ορίζονται από το χρήστη.

Δεν είναι απαραίτητο να διαχωρίσετε τις δύο μακροεντολές START MACRO και DISPLAY. Μπορείτε επίσης να κάνετε χωρίς την εντολή CALL στη μακροεντολή VBA και να συμπεριλάβετε τις εντολές για την υπορουτίνα απευθείας στην υπορουτίνα FUNCTION.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave