Λειτουργία VBA OFFSET | Τρόπος χρήσης της ιδιότητας Offset Excel VBA (Παράδειγμα)

Λειτουργία OFFSET Excel VBA

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

Για παράδειγμα, ας υποθέσουμε ότι έχετε ένα σύνολο δεδομένων όπως το παρακάτω.

Τώρα από το κελί A1, θέλετε να μετακινήσετε προς τα κάτω 4 κελιά και θέλετε να επιλέξετε αυτό το 5ο κελί, δηλαδή το κελί A5.

Παρομοίως, εάν θέλετε να μετακινηθείτε προς τα κάτω από τις σειρές A1 2 κυττάρων και πηγαίνετε 2 στήλες προς τα δεξιά και επιλέξτε το κελί, δηλαδή το κελί C2.

Σε αυτές τις περιπτώσεις, η λειτουργία OFFSET είναι πολύ χρήσιμη. Ειδικά στη λειτουργία VBA OFFSET είναι απλώς φαινομενική

Το OFFSET χρησιμοποιείται με αντικείμενο Range στο Excel VBA

Στο VBA δεν μπορούμε να εισαγάγουμε απευθείας τη λέξη OFFSET. Πρέπει να χρησιμοποιήσουμε πρώτα το αντικείμενο VBA RANGE και από αυτό το αντικείμενο εύρους, μπορούμε να χρησιμοποιήσουμε την ιδιότητα OFFSET.

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

Σύνταξη του OFFSET στο VBA Excel

  • Μετατόπιση γραμμής: Πόσες σειρές θέλετε να αντισταθμίσετε από το επιλεγμένο κελί. Εδώ το επιλεγμένο κελί είναι A1, δηλαδή Range ("A1").
  • Μετατόπιση στήλης: Πόσες στήλες θέλετε να αντισταθμίσετε από το επιλεγμένο κελί. Εδώ το επιλεγμένο κελί είναι A1, δηλαδή Range ("A1").

Παραδείγματα

Μπορείτε να κατεβάσετε αυτό το πρότυπο VBA OFFSET εδώ - Πρότυπο VBA OFFSET

Παράδειγμα # 1

Εξετάστε τα παρακάτω δεδομένα για παράδειγμα επίδειξη.

Τώρα θέλω να επιλέξω το κελί A6 από το κελί A1. Ξεκινήστε τη μακροεντολή και το κελί αναφοράς χρησιμοποιώντας το αντικείμενο Range.

Κώδικας:

 Sub Offset_Example1 () Range ("A1"). Offset (End Sub 

Τώρα θέλω να επιλέξω το κελί A6, δηλαδή θέλω να κάνω 5 κελιά. Εισάγετε λοιπόν το 5 ως παράμετρο για το Row Offset

Κώδικας:

 Sub Offset_Example1 () Range ("A1"). Offset (5 End Sub 

Εφόσον επιλέγω στην ίδια στήλη, αφήνω το τμήμα της στήλης. Κλείστε το βραχίονα και βάλτε μια τελεία (.) Και πληκτρολογήστε τη μέθοδο "Επιλογή".

Κώδικας:

 Sub Offset_Example1 () Range ("A1"). Offset (5). Επιλέξτε End Sub 

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

Παραγωγή:

Παράδειγμα # 2

Τώρα πάρτε τα ίδια δεδομένα, αλλά εδώ θα δείτε πώς να χρησιμοποιήσετε το όρισμα μετατόπισης στηλών επίσης. Τώρα θέλω να επιλέξω το κελί C5.

Δεδομένου ότι θέλω πρώτα να επιλέξω το κελί C5, θέλω να μετακινήσω 4 κελιά και να πάρω τις σωστές 2 στήλες για να φθάσω στο κελί C5. Ο παρακάτω κώδικας θα έκανε τη δουλειά για μένα.

Κώδικας:

 Sub Offset_Example2 () Range ("A1"). Offset (4, 2). Επιλέξτε End Sub 

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

Παραγωγή:

Παράδειγμα # 3

Έχουμε δει πώς να αντισταθμίζουμε τις σειρές και τις στήλες. Μπορούμε επίσης να επιλέξουμε τα παραπάνω κελιά από τα καθορισμένα κελιά. Για παράδειγμα, εάν βρίσκεστε στο κελί A10 και θέλετε να επιλέξετε κελί A1, πώς επιλέγετε;

Σε περίπτωση μετακίνησης κάτω από το κελί, μπορούμε να εισαγάγουμε έναν θετικό αριθμό, οπότε εδώ σε περίπτωση μετακίνησης προς τα πάνω, πρέπει να εισαγάγουμε αρνητικούς αριθμούς.

Από το κελί A9 πρέπει να ανεβούμε 8 σειρές, δηλαδή -8.

Κώδικας:

 Sub Offset_Example1 () Range ("A9"). Offset (-8). Επιλέξτε End Sub 

Εάν εκτελέσετε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή μπορείτε να εκτελέσετε χειροκίνητα αυτόν τον κώδικα τότε, θα επιλέξει το κελί A1 από το κελί A9.

Παραγωγή:

Παράδειγμα # 4

Ας υποθέσουμε ότι βρίσκεστε στο κελί C8. Από αυτό το κελί, θέλετε να επιλέξετε το κελί A10.

Από το ενεργό κελί, δηλαδή το κελί C8, πρέπει πρώτα να μετακινήσουμε προς τα κάτω 2 σειρές και πρέπει να μετακινηθούμε προς τα αριστερά από 2 στήλες για να επιλέξετε το κελί A10.

Σε περίπτωση μετακίνησης αριστερά για να επιλέξετε τη στήλη, πρέπει να καθορίσουμε ότι ο αριθμός είναι αρνητικός. Εδώ λοιπόν πρέπει να επιστρέψουμε από -2 στήλες.

Κώδικας:

 Sub Offset_Example2 () Range ("C8"). Offset (2, -2). Επιλέξτε End Sub 

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

Παραγωγή:

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

  • Σε περίπτωση αύξησης των γραμμών, πρέπει να καθορίσουμε τον αριθμό σε αρνητικά.
  • Σε περίπτωση που μετακινηθείτε αριστερά για να επιλέξετε τη στήλη, ο αριθμός πρέπει να είναι αρνητικός.
  • Το κελί A1 είναι η πρώτη σειρά και η πρώτη στήλη.
  • Ενεργό κελί σημαίνει επί του παρόντος επιλεγμένα κελιά.
  • Εάν θέλετε να επιλέξετε το κελί χρησιμοποιώντας το OFFSET, πρέπει να αναφέρετε ".Επιλέξτε".
  • Εάν θέλετε να αντιγράψετε το κελί χρησιμοποιώντας το OFFSET, πρέπει να αναφέρετε ".Copy".