Πώς να επιλύσετε το σφάλμα "Διφορούμενο όνομα εντοπίστηκε" VBA

Anonim

Κατά την εργασία με το VBA ενδέχεται να εμφανιστεί αυτό το αναδυόμενο σφάλμα κατά την εκτέλεση της διαδικασίας. Αυτό το σφάλμα λέει "Εντοπίστηκε διφορούμενο όνομα: όνομα διαδικασίας". Σε αυτό το άρθρο, θα μάθουμε γιατί συμβαίνει αυτό το σφάλμα και πώς μπορούμε να το λύσουμε.

Γιατί αυτό το σφάλμα;

Όπως λέει και το αναδυόμενο παράθυρο, ο κινητήρας VBA έχει εντοπίσει μία ή περισσότερες διαδικασίες με το ίδιο όνομα στην ίδια ενότητα. Αυτό οδήγησε σε σύγχυση για τον κινητήρα VBA. Ως εκ τούτου, το VBA αναφέρει το σφάλμα.

Πώς να λύσετε αυτό το πρόβλημα;

Είναι εύκολο. Μην έχετε δύο ίδιες διαδικασίες με το ίδιο όνομα σε μια ενότητα. Είτε αλλάξτε το όνομα της διαδικασίας, διαγράψτε το ή μεταφέρετέ το σε κάποια άλλη ενότητα.

Αυτό το σφάλμα εμφανίζεται συνήθως κατά την εργασία με εκδηλώσεις στο Excel.

Ας υποθέσουμε ότι εργάζεστε στο φύλλο 1 με συμβάντα φύλλου εργασίας. Τώρα θέλετε να ενεργοποιήσετε ένα μήνυμα μόλις ο χρήστης αλλάξει την επιλογή κελιού. Σε αυτή την περίπτωση, θα χρησιμοποιήσετε το συμβάν Worksheet_SelectionChange ().

Τώρα πάλι θέλετε να κάνετε κάποιες ερωτήσεις στους χρήστες καθώς ο χρήστης αλλάζει την επιλογή κελιού. Στη συνέχεια, θα πρέπει να χρησιμοποιήσετε το ίδιο συμβάν. Τώρα έχετε γράψει δύο διαδικασίες χειρισμού συμβάντων για διαφορετικές εργασίες.

Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" End Sub Private Sub Worksheet_SelectionChange (ByVal Target As Range) Application.InputBox ("who are you?") End Sub 

Τώρα, όταν αλλάζετε την επιλογή στο φύλλο, αυτό παίρνετε.

Τώρα, όταν αλλάζετε την επιλογή στο φύλλο, αυτό παίρνετε.

Βλέπετε, το θέμα είναι ότι το Excel δεν το επιτρέπει αυτό. Δεν μπορείτε να έχετε δύο ή περισσότερα ίδια ονόματα συναρτήσεων σε μια ενότητα. Ούτε καν στις Εκδηλώσεις. Οδηγεί σε ασάφεια.

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

Η παρακάτω εκδήλωση θα λειτουργήσει τέλεια. Όταν ο χρήστης αλλάξει την επιλογή κελιού στο φύλλο1, θα εμφανιστεί ένα μήνυμα hi και στη συνέχεια θα κάνει στον χρήστη μια ερώτηση με ένα πλαίσιο εισαγωγής.

Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" Application.InputBox ("who are you?") End Sub 

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

Λοιπόν, ναι, έτσι μπορείτε να λύσετε το σφάλμα ασάφειας στο Excel VBA. Ελπίζω ότι αυτό ήταν χρήσιμο. Εάν έχετε αμφιβολίες σχετικά με αυτό το άρθρο ή οποιοδήποτε άλλο άρθρο ρωτήστε με στην παρακάτω ενότητα σχολίων.

Αναφορά Δεν είναι έγκυρο σφάλμα Excel και πώς να το λύσετε; : Αυτό το σφάλμα παρουσιάζεται όταν αναφερόμαστε σε ένα αντικείμενο ή τοποθεσία που δεν υπάρχει ή έχει αλλάξει. Για την επίλυση αυτού του προβλήματος εντοπίζουμε την αναφορά.

Οι εκδηλώσεις στο Excel VBA | Υπάρχουν επτά τύποι συμβάντων στο Excel. Κάθε εκδήλωση ασχολείται με διαφορετικό πεδίο. Το Application Event ασχολείται με το επίπεδο του βιβλίου εργασίας. Τετράδιο εργασίας σε επίπεδο φύλλου. Εκδήλωση φύλλου εργασίας σε επίπεδο εμβέλειας.

Οι εκδηλώσεις φύλλου εργασίας στο Excel VBA | Τα συμβάντα του φύλλου εργασίας είναι πραγματικά χρήσιμα όταν θέλετε οι μακροεντολές σας να εκτελούνται όταν εμφανίζεται ένα συγκεκριμένο συμβάν στο φύλλο.

Εκδηλώσεις βιβλίου εργασίας χρησιμοποιώντας VBA στο Microsoft Excel | Οι εκδηλώσεις του βιβλίου εργασίας λειτουργούν σε ολόκληρο το βιβλίο εργασίας. Δεδομένου ότι όλα τα φύλλα είναι μέρος του βιβλίου εργασίας, αυτά τα γεγονότα λειτουργούν και σε αυτά.

Αποτρέψτε μια αυτόματη μακροεντολή/εκτέλεση μακροεντολής συμβάντος χρησιμοποιώντας VBA στο Microsoft Excel | Για να αποτρέψετε την εκτέλεση της μακροεντολής auto_open χρησιμοποιήστε το πλήκτρο shift.

Συμβάντα αντικειμένου γραφήματος χρησιμοποιώντας VBA στο Microsoft Excel | Τα διαγράμματα είναι πολύπλοκα αντικείμενα και υπάρχουν πολλά στοιχεία που τα έχετε προσαρτήσει. Για να φτιάξουμε τα Chart Events χρησιμοποιούμε την ενότητα Class.

Δημοφιλή άρθρα:

50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας | Γίνετε πιο γρήγοροι στην εργασία σας. Αυτές οι 50 συντομεύσεις θα κάνουν τη δουλειά σας ακόμη πιο γρήγορη στο Excel.

Η συνάρτηση VLOOKUP στο Excel | Αυτή είναι μια από τις πιο δημοφιλείς και δημοφιλείς λειτουργίες του excel που χρησιμοποιείται για την αναζήτηση τιμών από διαφορετικά εύρη και φύλλα.

COUNTIF στο Excel 2016 | Μετρήστε τιμές με συνθήκες χρησιμοποιώντας αυτήν την εκπληκτική συνάρτηση. Δεν χρειάζεται να φιλτράρετε τα δεδομένα σας για να μετρήσετε συγκεκριμένη τιμή. Η λειτουργία Countif είναι απαραίτητη για την προετοιμασία του ταμπλό σας.

Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel | Αυτή είναι μια άλλη βασική λειτουργία του ταμπλό. Αυτό σας βοηθά να συνοψίσετε τιμές υπό συγκεκριμένες συνθήκες.