Δήλωση VBA GoTo - Πώς να χρησιμοποιήσετε το GoTo Statement στο VBA;

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

Δήλωση GoTo του Excel VBA

Η δήλωση VBA GoTo χρησιμοποιείται όταν παρουσιάζεται σφάλμα κατά την εκτέλεση του κώδικα αντί να εμφανίζεται σφάλμα για να συνεχίσει την επόμενη γραμμή κώδικα αγνοώντας το μήνυμα σφάλματος. Υπάρχουν δύο είδη δηλώσεων GOTO το ένα είναι να επιλέξετε οποιοδήποτε εύρος του φύλλου εργασίας στο καθορισμένο βιβλίο εργασίας και ένα άλλο είναι ο χειριστής σφαλμάτων.

Για να ξεπεράσουμε τα αναμενόμενα σφάλματα στο VBA, έχουμε μια λειτουργία που ονομάζεται "GOTO". Σε αυτό το άρθρο θα δούμε και τα δύο είδη δηλώσεων GoTo.

2 τρόποι χρήσης της δήλωσης GoTo στον κώδικα VBA

# 1 - Μέθοδος Application.GoTo

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

Ας δούμε τη σύνταξη της μεθόδου Application.GoTo

  • (Αναφορά): Αυτό δεν είναι παρά μια καθορισμένη αναφορά κελιού. Εάν η αναφορά δεν παρέχεται από προεπιλογή, θα σας μεταφέρει στο εύρος κελιών που χρησιμοποιήσατε την τελευταία φορά.
  • (Κύλιση): Πρόκειται για μια λογική δήλωση TRUE ή FALSE. Εάν η τιμή είναι ΑΛΗΘΕΙΑ, θα μετακινηθεί στο παράθυρο. Εάν η τιμή είναι FALSE, δεν θα μετακινηθεί στο παράθυρο.
Παράδειγμα

Εάν θέλετε να μεταβείτε σε ένα συγκεκριμένο κελί στο συγκεκριμένο φύλλο εργασίας, μπορούμε να χρησιμοποιήσουμε τη μέθοδο Goto. Έχω 3 φύλλα με όνομα Jan, Feb και Mar.

Αν θέλω να πάω στο κελί C5 στο φύλλο Ιανουαρίου, θα χρησιμοποιήσω το παρακάτω σύνολο κωδικών.

Βήμα 1: Ξεκινήστε το όνομα μακροεντολής excel.

Κώδικας:

Υπο GoTo_Example1 () End Sub

Βήμα 2: Ξεκινήστε τη μέθοδο " Application.GoTo "

Κώδικας:

Υπο GoTo_Example1 ()

Εφαρμογή. Πηγαίνετε

Τέλος Υποτ

Βήμα 3: Στο όρισμα αναφοράς, πρέπει να καθορίσουμε το όνομα του φύλλου εργασίας και σε αυτό το φύλλο εργασίας, πρέπει να αναφέρουμε το συγκεκριμένο κελί.

Κώδικας:

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5") End Sub

Βήμα 4: Αναφέρετε την κύλιση ως Αληθινή.

Κώδικας:

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = True End Sub

Βήμα 5: Τώρα εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5, ή μπορείτε επίσης να εκτελέσετε αυτόν τον κώδικα χειροκίνητα, θα σας μεταφέρει στο καθορισμένο φύλλο και στο καθορισμένο κελί.

Τώρα θα αλλάξω το όρισμα κύλισης σε FALSE και θα δω την αλλαγή που θα συναντήσει.

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub

Εάν θέλετε να μεταβείτε σε ένα συγκεκριμένο βιβλίο εργασίας, τότε πρέπει να αναφέρετε και το όνομα του βιβλίου εργασίας πριν από το όνομα του βιβλίου εργασίας.

Sub GoTo_Example1 () Application.Goto Reference: = Workbooks ("Book1.xlsx"). Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub

# 2 - Μέθοδος χειρισμού σφαλμάτων

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

Για παράδειγμα, δείτε την παρακάτω γραμμή κώδικα.

Υπο GoTo_Example2 () Sheets ("April"). Διαγραφή φύλλων. Προσθήκη τελικού υποτμήματος

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

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

Για να εξαλείψουμε αυτό το σφάλμα, μπορούμε να χρησιμοποιήσουμε τη μέθοδο GoTo ως πρόγραμμα χειρισμού σφαλμάτων.

Τώρα θα τροποποιήσω τον κώδικα καθώς το σφάλμα On πηγαίνει στην επόμενη γραμμή.

Υπο GoTo_Example2 () On Error GoTo NextLine Sheets ("April"). Διαγραφή NextLine: Sheets.Προσθήκη End Sub

Εάν το εκτελέσετε, θα προσθέσει το νέο φύλλο παρόλο που δεν υπάρχει όνομα φύλλου που ονομάζεται Απρίλιος.

Η δήλωση «On Error GoTo NextLine» καταλαβαίνει ότι εάν παρουσιαστεί κάποιο σφάλμα, θα μεταβεί στην επόμενη γραμμή και στην επόμενη γραμμή, ο κώδικας VBA είναι να προσθέσει ένα νέο φύλλο.

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

  • Εάν θέλετε να μεταβείτε στην επόμενη γραμμή όταν παρουσιαστεί το σφάλμα, μπορείτε επίσης να χρησιμοποιήσετε τη δήλωση On Error Resume Next VBA.
  • Για μετάβαση στο επόμενο, πρέπει να είστε σίγουροι ότι η συγκεκριμένη γραμμή κώδικα αναμένεται σφάλμα.
  • Εάν η σημαντική γραμμή του κώδικα παραλείψει με αυτόν τον χειριστή σφαλμάτων, η εργασία σας ενδέχεται να μην ολοκληρωθεί τέλεια.

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