Αναζήτηση στόχου VBA - Πώς να χρησιμοποιήσετε την Αναζήτηση στόχου για εύρεση τιμής στο Excel VBA;

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

Αναζήτηση στόχου στο Excel VBA

Το Goal Seek είναι το εργαλείο που διατίθεται στο excel VBA, το οποίο μας βοηθά να βρούμε τον απαιτούμενο αριθμό που πρέπει να επιτευχθεί για να φτάσουμε στον καθορισμένο στόχο.

Για παράδειγμα, είστε μαθητής και έχετε στοχεύσει μια μέση βαθμολογία 90% από έξι διαθέσιμα θέματα. Από τώρα, έχετε ολοκληρώσει 5 εξετάσεις και μένετε μόνο με ένα μάθημα. Οι αναμενόμενες βαθμολογίες σας από πέντε ολοκληρωμένα θέματα είναι 89, 88, 91, 87, 89 και 90. Τώρα θέλετε να μάθετε πόσα πρέπει να σκοράρετε στην τελική εξέταση για να επιτύχετε τον συνολικό μέσο ποσοστιαίο στόχο 90%.

Αυτό μπορεί να γίνει χρησιμοποιώντας το GOAL SEEK στο φύλλο εργασίας excel καθώς και στην κωδικοποίηση VBA. Ας δούμε πώς λειτουργεί με το VBA.

Σύνταξη αναζήτησης στόχου VBA

Στο VBA Goal Seek, πρέπει να καθορίσουμε την τιμή που αλλάζουμε και να φτάσουμε στο τελικό στοχευμένο αποτέλεσμα, οπότε παρέχετε την αναφορά κελιού χρησιμοποιώντας το αντικείμενο VBA RANGE. Αργότερα έχουμε πρόσβαση στην επιλογή GOAL SEEK.

Παρακάτω είναι η σύνταξη της αναζήτησης στόχων στο VBA.

  • Εύρος (): Σε αυτό, πρέπει να παρέχουμε την αναφορά κελιού όπου πρέπει να επιτύχουμε τη στοχευμένη τιμή.
  • Στόχος: Σε αυτό το επιχείρημα, πρέπει να εισαγάγουμε ποιος είναι ο στόχος που προσπαθούμε να επιτύχουμε.
  • Αλλαγή κελιού: Σε αυτό το επιχείρημα, πρέπει να παρέχουμε αλλάζοντας ποια τιμή κελιού χρειαζόμαστε για την επίτευξη του στόχου.

Παραδείγματα αναζήτησης στόχου του Excel VBA

Ακολουθούν τα παραδείγματα αναζήτησης στόχων στο Excel VBA.

Αναζήτηση στόχου VBA - Παράδειγμα # 1

Ας πάρουμε μόνο το παράδειγμα μιας μέσης βαθμολογίας εξέτασης. Παρακάτω είναι η αναμενόμενη βαθμολογία 5 θεμάτων από την ολοκληρωμένη εξέταση.

Πρώτον, πρέπει να καταλήξουμε σε ποια είναι η μέση βαθμολογία από τα 5 ολοκληρωμένα θέματα. Εφαρμόστε τη λειτουργία ΜΕΣΟ στο κελί B8.

Σε αυτό το παράδειγμα, ο στόχος μας είναι 90 και το Changing Cell θα είναι B7 . Έτσι, το Goal Seek θα μας βοηθήσει να βρούμε το στοχευμένο σκορ από το τελικό θέμα για να επιτύχουμε τον συνολικό μέσο όρο των 90.

Ξεκινήστε τη δευτερεύουσα διαδικασία στην ενότητα κλάσης VBA.

Κώδικας:

Sub Goal_Seek_Example1 () End Sub

Τώρα χρειαζόμαστε το αποτέλεσμα στο κελί B8, οπότε παρέχετε αυτήν την αναφορά εύρους χρησιμοποιώντας το αντικείμενο RANGE.

Κώδικας:

Sub Goal_Seek_Example1 () Range ("B8") End Sub

Τώρα βάλτε μια κουκκίδα και εισάγετε την επιλογή "Αναζήτηση στόχου".

Το πρώτο επιχείρημα είναι «Στόχος» για αυτό. Πρέπει να εισάγουμε τον τελικό μας στόχο για να φτάσουμε στο RANGE B8. Σε αυτό το παράδειγμα, προσπαθούμε να επιτύχουμε τον στόχο των 90.

Κώδικας:

Sub Goal_Seek_Example1 () Εύρος ("B8"). GoalSeek Goal: = 90 End Sub

Το επόμενο επιχείρημα είναι "Αλλαγή κελιού" για αυτό, πρέπει να παρέχουμε σε ποιο κελί χρειαζόμαστε τη νέα τιμή για την επίτευξη του στόχου.

Κώδικας:

Sub Goal_Seek_Example1 () Range ("B8"). GoalSeek Goal: = 90, ChangingCell: = Range ("B7") End Sub

Σε αυτό το παράδειγμα, το μεταβαλλόμενο κελί μας είναι Sub 6 κελί, δηλαδή B7 κελί

Εντάξει, ας τρέξουμε τον κώδικα για να δούμε τι πρέπει να γίνει στο τελικό θέμα για να επιτευχθεί το συνολικό μέσο ποσοστό 90.

Έτσι, στο τελικό θέμα, το 95 πρέπει να σημειωθεί για να πάρει τον συνολικό μέσο όρο των 90.

Αναζήτηση στόχου VBA - Παράδειγμα # 2

Έχουμε μάθει πώς να εφαρμόζουμε το GOAL SEEK για να βρούμε τον αριθμό που απαιτείται για την επίτευξη του στόχου. Τώρα θα δούμε μερικά προηγμένα παραδείγματα εύρεσης της τελικής βαθμολογίας εξετάσεων για περισσότερους από έναν μαθητές.

Ακολουθούν οι αναμενόμενες βαθμολογίες 5 θεμάτων μετά την εξέταση.

Δεδομένου ότι βρίσκουμε το στόχο για περισσότερους από έναν μαθητές, πρέπει να χρησιμοποιήσουμε βρόχους. Παρακάτω είναι ο κωδικός για εσάς.

Κώδικας:

Sub Goal_Seek_Example2 () Dim k As Long Dim ResultCell as Range Dim ChangingCell as Range Dim TargetScore as Integer TargetScore = 90 For k = 2 to 5 Set ResultCell = Cells (8, k) Set ChangingCell = Cells (7, k) ResultCell.GoalSeek TargetScore, ChangingCell Next k End Sub

Αυτός ο κωδικός θα περάσει από όλες τις βαθμολογίες των μαθητών και θα φτάσει στην τελική βαθμολογία της εξέτασης που απαιτείται για να επιτευχθεί ο συνολικός μέσος όρος των 90.

Έτσι έχουμε το τελικό αποτέλεσμα τώρα,

Ο Φοιτητής Α πρέπει να σκοράρει μόλις 83 για να εξασφαλίσει το συνολικό ποσοστό 90 και ο Φοιτητής Δ πρέπει να σκοράρει 93

Αλλά κοίτα το Student B & C. Πρέπει να βαθμολογήσουν 104 ο καθένας στην τελική εξέταση, κάτι που δεν είναι καθόλου δυνατό.

Όπως αυτό χρησιμοποιώντας την ανάλυση GOAL SEEK, μπορούμε να βρούμε τον απαιτούμενο αριθμό για να επιτύχουμε τον στοχευμένο αριθμό στα μέσα του έργου ή της διαδικασίας.

Πράγματα που πρέπει να θυμάστε

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

ενδιαφέροντα άρθρα...