Excel VBA - Ένωση και διασταύρωση

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

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

Ενωση

Η μέθοδος Union επιστρέφει όλα τα κελιά σε δύο ή περισσότερα εύρη που έχουν περάσει ως όρισμα.

Η ακόλουθη εντολή θα επιλέξει το εύρος που εμφανίζεται στην παρακάτω εικόνα:

1 Ένωση (Εύρος ("A1: B4"), Εύρος ("B3: C6"). Επιλέξτε

Μπορείτε να αντιστοιχίσετε οποιαδήποτε τιμή ή τύπο στο εύρος που επιστρέφεται με τη μέθοδο της Ένωσης:

1 Ένωση (Εύρος ("A1: B4"), Εύρος ("B3: C6")) = 10

Αυτό θα εισαγάγει την τιμή 10 σε κάθε κελί της Ένωσης.

Μπορείτε να τυλίξετε οποιαδήποτε συνάρτηση που συνοψίζει ένα εύρος γύρω από μια μέθοδο Ένωσης. Το ακόλουθο παράδειγμα θα επιστρέψει το άθροισμα των τιμών στα εύρη A1: B4 και B3: C6:

1 Αποτέλεσμα = Application.WorksheetFunction.Sum (ένωση (Range ("A1: B4"), Range ("B3: C6")))

Mightσως εκπλαγείτε να λάβετε την τιμή στο Αποτέλεσμα ως 160! Αν και υπάρχουν μόνο 14 κελιά στην Ένωση (8 σε κάθε εύρος με 2 κοινά) όταν κοιτάζετε την επιλογή, η Ένωση επιστρέφει στην πραγματικότητα 16 κελιά, επομένως το Αποτέλεσμα είναι 160.

Διατέμνω

Η μέθοδος διασταύρωσης επιστρέφει μόνο τα κοινά κελιά σε δύο ή περισσότερα εύρη που έχουν περάσει ως όρισμα.

Η ακόλουθη εντολή θα επιλέξει το εύρος που εμφανίζεται (Γκρι περιοχή) στην παρακάτω εικόνα:

1 Διασταυρώστε (Εύρος ("A1: B4"), Εύρος ("B3: C6")). Επιλέξτε

Χρήση του Intersect

Η πιο συνηθισμένη χρήση του Intersect είναι σε συμβάντα που σχετίζονται με ένα φύλλο εργασίας ή ένα βιβλίο εργασίας. Χρησιμοποιείται για να ελέγξει εάν τα κύτταρα που άλλαξαν ανήκουν σε μια περιοχή ενδιαφέροντος. Το ακόλουθο παράδειγμα με τον έλεγχο αν άλλαξαν τα κελιά (προσδιορίστηκαν από το Target) και το εύρος A1: A10 είναι συνηθισμένα και, αν είναι, λάβετε τα κατάλληλα μέτρα.

Το αντικείμενο διασταύρωσης δεν επιστρέφει τίποτα εάν δεν υπάρχουν κοινά κελιά, έτσι ώστε να τέμνονται (στόχος, εύρος («A1: A10»)) Δεν είναι τίποτα αληθινό εάν δεν υπάρχουν κοινά κελιά. Η προσθήκη Όχι στην συνθήκη το καθιστά Αληθινό μόνο εάν το αποτέλεσμα της δοκιμής Διασταυρώστε (Στόχος, Εύρος («A1: A10»)) Δεν είναι τίποτα λάθος, με άλλα λόγια Ο στόχος και το εύρος A1: A10 έχουν κάποια κοινά κελιά.

12345 Private Sub Worksheet_Change (ByVal Target As Range)Εάν δεν διασταυρώνεται (στόχος, εύρος ("A1: A10")) δεν είναι τίποτα τότε«Πάρτε την επιθυμητή ενέργειαΤέλος εανΤέλος υπο

Συγγραφέας: Vinamra Chandra

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave