Πώς να χρησιμοποιήσετε το VBA Range Offset (11 τρόποι)

  • Μοιραστείτε Αυτό
Hugh West

Αν ψάχνετε για μερικούς από τους ευκολότερους τρόπους χρήσης των VBA Range Offset, τότε θα βρείτε ότι αυτό το άρθρο αξίζει τον κόπο. Ας ξεκινήσουμε με τους τρόπους χρήσης του VBA Μετατόπιση εύρους.

Λήψη βιβλίου εργασίας

VBA Range Offset.xlsm

11 τρόποι χρήσης της VBA Range Offset

Έχω τον ακόλουθο πίνακα δεδομένων που περιέχει ορισμένες πληροφορίες για τους φοιτητές ενός κολεγίου. Χρησιμοποιώντας αυτό το σύνολο δεδομένων, θα εξηγήσω τους τρόπους χρήσης του VBA Μετατόπιση εύρους.

Για το σκοπό αυτό, χρησιμοποίησα Microsoft Excel 365 έκδοση, μπορείτε να χρησιμοποιήσετε οποιεσδήποτε άλλες εκδόσεις ανάλογα με την ευκολία σας.

Μέθοδος-1: Επιλογή κελιού με χρήση της περιοχής VBA

Εδώ, θα επιλέξουμε ένα κελί που περιέχει το όνομα Daniel Defoe. Για το σκοπό αυτό, θα χρησιμοποιήσουμε το Λειτουργία RANGE στο VBA .

Βήμα-01 :

➤Γύρνα σε Προγραμματιστής Καρτέλα>>, Visual Basic Επιλογή

Στη συνέχεια, το Visual Basic Editor θα ανοίξει.

➤Γύρνα σε Εισαγωγή Καρτέλα>>, Ενότητα Επιλογή

Μετά από αυτό, ένα Ενότητα θα δημιουργηθεί.

Βήμα-02 :

➤Γράψτε τον ακόλουθο κώδικα

 Sub SelectCell() Range("B8").Select End Sub 

Θα επιλέξει το κελί B8 .

➤Press F5

Αποτέλεσμα :

Με αυτόν τον τρόπο, θα λάβετε το κελί που περιέχει Daniel Defoe επιλεγμένο.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το αντικείμενο Range της VBA στο Excel

Μέθοδος-2: Επιλογή μιας ομάδας συνεχόμενων κελιών με τη χρήση της περιοχής VBA

Μπορείτε να επιλέξετε μια περιοχή συνεχόμενων κελιών όπως το Όνομα μαθητή στήλη και η στήλη Αποτέλεσμα στήλη στον ακόλουθο πίνακα ακολουθώντας αυτή τη μέθοδο.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Θα επιλέξει τα κελιά από B5 στο C10 .

➤Press F5

Αποτέλεσμα :

Μετά από αυτό, θα λάβετε τα κύτταρα σε Στήλη Β και Στήλη Γ επιλεγμένο.

Μέθοδος-3: Επιλογή μιας ομάδας μη συνεχόμενων κελιών με τη χρήση της περιοχής VBA

Ας υποθέσουμε ότι θέλετε να επιλέξετε τους μαθητές με το όνομα William David και Michael Anthony συμπεριλαμβανομένων των αντίστοιχων Email Id Για να επιλέξετε αυτά τα μη συμβατά κελιά μπορείτε να ακολουθήσετε αυτή τη μέθοδο.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

Θα επιλέξει τα κελιά B6 , D6 , B9, και D9 .

➤Press F5

Αποτέλεσμα :

Στη συνέχεια, θα λάβετε τα κελιά που περιέχουν το όνομα του μαθητή. William David , Michael Anthony, και τις αντίστοιχες Email Id επιλεγμένο.

Μέθοδος-4: Επιλογή μιας ομάδας μη συνεχόμενων κελιών και μιας περιοχής με τη χρήση της περιοχής VBA

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

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Θα επιλέξει το εύρος των κελιών στην περιοχή B5:B10 και τα άλλα δύο κύτταρα D6 , D10 .

➤Press F5

Αποτέλεσμα :

Στη συνέχεια, θα λάβετε τα κελιά της στήλης Όνομα μαθητή και δύο Email Ids για το William David και Donald Paul επιλεγμένο.

Μέθοδος-5: Επιλογή ενός εύρους με τη χρήση της μετατόπισης εύρους της VBA

Μπορείτε να επιλέξετε ένα εύρος κελιών στο Στήλη Όνομα μαθητή χρησιμοποιώντας το Λειτουργία OFFSET .

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

Στην αρχή, Εύρος("A1:A6") θα επιλέξει το εύρος A1:A6 , και στη συνέχεια Offset(4, 1) θα μετακινήσει 4 σειρές προς τα κάτω από το κελί A1 και 1 στήλη στη δεξιά πλευρά. Μετά από αυτό, ο ίσος αριθμός κελιών στην περιοχή A1:A6 θα επιλεγεί από εδώ.

➤Press F5

Αποτέλεσμα :

Με αυτόν τον τρόπο, θα επιλέξετε τη στήλη Όνομα μαθητή .

Μέθοδος-6: Αρνητική μετατόπιση εύρους VBA

Μπορείτε να επιλέξετε το Στήλη Email Id ακολουθώντας αυτή τη μέθοδο.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

Στην αρχή, Εύρος("F11:F16") θα επιλέξει το εύρος F11:F16 , και στη συνέχεια Offset(-6, -2) θα μετακινήσει 6 σειρές προς τα πάνω από το κελί F11 και 2 στήλες στην αριστερή πλευρά. Μετά από αυτό, ο ίσος αριθμός κελιών στην περιοχή F11:F16 θα επιλεγεί από εδώ.

➤Press F5

Αποτέλεσμα :

Μετά από αυτό, θα μπορείτε να επιλέξετε τη στήλη Email Id .

Παρόμοιες αναγνώσεις:

  • VBA για κάθε κελί σε σειρά στο Excel (3 μέθοδοι)
  • Πώς να μετράτε κείμενο στο Excel (7 εύκολα κόλπα)

Μέθοδος-7: Επιλογή μιας περιοχής σε σχέση με το ενεργό κελί

Εδώ, έχουμε ένα ενεργό κύτταρο (κύτταρο A1 ) και σε σχέση με αυτό το κελί, θα επιλέξουμε την περιοχή δεδομένων με αυτή τη μέθοδο.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Ορίστε, activecell είναι A1

Το πρώτο μέρος activecell.Offset(4, 1) θα επιλέξει ένα κελί 4 σειρές προς τα κάτω και 1 στήλη δεξιά από το κελί A1 και το δεύτερο μέρος activecell.Offset(9, 3) θα επιλέξει ένα κελί 9 σειρές προς τα κάτω και 3 στήλες δεξιά από το κελί A1 .

Τέλος, θα επιλεγούν όλα τα κελιά μεταξύ αυτών των δύο κελιών.

➤Press F5

Αποτέλεσμα :

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

Μέθοδος-8: Αντιγραφή μιας περιοχής

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

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

Στην αρχή, Εύρος("A1:A6") θα επιλέξει το εύρος A1:A6 , και στη συνέχεια Offset(4, 1) θα μετακινήσει 4 σειρές προς τα κάτω από το κελί A1 και 1 στήλη στη δεξιά πλευρά. Μετά από αυτό, ο ίσος αριθμός κελιών στην περιοχή A1:A6 θα επιλεγεί από εδώ.

Τέλος, θα αντιγράψει τις τιμές στην περιοχή B5:B10 .

➤Press F5

Αποτέλεσμα :

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

Μέθοδος-9: Διαγραφή μιας περιοχής

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

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

Πρώτον, Εύρος("F11:F17") θα επιλέξει το εύρος F11:F17 , και στη συνέχεια Offset(-7, -2) θα μετακινήσει 7 σειρές προς τα πάνω από το κελί F11 και 2 στήλες στην αριστερή πλευρά. Μετά από αυτό, ο ίσος αριθμός κελιών στην περιοχή F11:F17 θα επιλεγεί από εδώ.

Τέλος, θα διαγράψει την περιοχή D4:D10 .

➤Press F5

Αποτέλεσμα :

Με αυτόν τον τρόπο, θα αντιγράψετε το εύρος δεδομένων στο Στήλη Email Id .

Μέθοδος-10: Χρήση της VBA Range Offset για την εισαγωγή μιας τιμής

Εδώ, έχουμε ένα άδειο κελί ( έχουμε αφαιρέσει την τιμή σε αυτό το κελί για να εξηγήσουμε αυτή τη μέθοδο) στο πεδίο Στήλη Όνομα μαθητή και θέλουμε να το γεμίσουμε με το όνομα Joseph Michael Χρησιμοποιώντας ένα VBA κώδικα μπορούμε εύκολα να εισάγουμε αυτή την τιμή.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

Πρώτον, Εύρος("A1") θα επιλέξει το κελί A1 , και στη συνέχεια Offset(6, 1) θα μετακινήσει 6 σειρές προς τα κάτω από το κελί A1 και 1 στήλη στη δεξιά πλευρά. Μετά από αυτό, το κελί B7 θα επιλεγεί και, τέλος, θα εισαγάγει την τιμή "Joseph Michael" σε αυτό το κύτταρο.

➤Press F5

Αποτέλεσμα :

Με αυτόν τον τρόπο, θα λάβετε το όνομα Joseph Michael στο κελί B7 .

Μέθοδος-11: Χρήση μετατόπισης εύρους VBA για να λάβετε έξοδο

Ας υποθέσουμε ότι θέλετε να γράψετε Πέρασε ή Απέτυχε να ανταποκριθεί στα ονόματα των μαθητών ανάλογα με το Στήλη αποτελεσμάτων όπου Πέρασμα ή Αποτυχία έχει γραφτεί μέσα σε αγκύλη. Για να βρείτε αυτή την υποπερίοδο στο Στήλη αποτελεσμάτων και να το γράψετε στο Στήλη Pass/Fail ακολουθήστε αυτή τη μέθοδο.

Βήμα-01 :

➤Follow Βήμα-01 του Μέθοδος-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Εδώ, η περιοχή κελιών C5:C10 επιλέγεται από Εύρος("C5:C10") το οποίο είναι το Στήλη αποτελεσμάτων

InStr(cell. value, "Pass")> 0 είναι η συνθήκη όπου ο αριθμός είναι μεγαλύτερος από το μηδέν (όταν το κελί περιέχει "Pass" ), τότε η επόμενη γραμμή θα συνεχίσει και θα δώσει την έξοδο στο διπλανό κελί ως Πέρασε Εδώ, το γειτονικό κελί θα επιλεγεί από το cell.Offset(0, 1) , που σημαίνει ότι θα μετακινηθεί 1 στήλη δεξιά από το κελί εισόδου.

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

Αυτός ο βρόχος θα συνεχιστεί για κάθε κελί.

➤Press F5

Αποτέλεσμα :

Στη συνέχεια, θα λάβετε τις εξόδους Περάσει ή αποτύχει στο Πέρασμα/Αποτυχία στήλη.

Τμήμα πρακτικής

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

Συμπέρασμα

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

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.