Ένωση VBA - Συμμετάσχετε σε πολλές σειρές χρησιμοποιώντας το Excel VBA Union

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

Ένωση VBA Excel

Η ένωση στο VBA είναι παρόμοια με την ένωση σε άλλες γλώσσες προγραμματισμού, στο VBA χρησιμοποιούμε ένωση για να συνδυάσουμε δύο ή περισσότερα από δύο εύρη για να εκτελέσουμε διαφορετικά σύνολα λειτουργιών σε αυτά, η δήλωση που χρησιμοποιείται για αυτό είναι η ίδια ένωση και ονομάζεται μέθοδος συνδικάτου , για παράδειγμα, ένωση (Range (B2: C7), Range (D2: E7)). select και αυτή η μέθοδος θα επιλέξει τα κελιά.

Η μέθοδος Union εκτελεί το καθήκον να δημιουργήσει μια ένωση δύο ή περισσότερων περιοχών και να επιστρέψει το αποτέλεσμα ως αντικείμενο RANGE. Αυτό λειτουργεί ακριβώς το ίδιο με το παρακάτω παράδειγμα με το αντικείμενο VBA RANGE.

Σύνταξη

Τώρα ρίξτε μια ματιά στη σύνταξη της μεθόδου UNION.

Πρέπει να παρέχουμε τουλάχιστον 2 σειρές.

  • Arg 1: Αυτό είναι το πρώτο εύρος κελιών που πρέπει να δημιουργήσουμε την ένωση του.
  • Arg 2: Αυτό είναι το δεύτερο εύρος κελιών που πρέπει να δημιουργήσουμε μια ένωση.

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

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

Για να επιλέξετε πολλές περιοχές κελιών, συνήθως μπορούμε να χρησιμοποιήσουμε αντικείμενο RANGE. Για παράδειγμα, εάν θέλουμε να επιλέξουμε το εύρος κελιών από A1 έως B5 και από B3 έως D5, μπορούμε να γράψουμε τον κώδικα VBA όπως παρακάτω.

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Επιλέξτε End Sub

Αυτό θα επέλεγε το εύρος των κελιών όπως η παρακάτω εικόνα.

Όπως μπορούμε να δούμε στην παραπάνω εικόνα, το πρώτο εύρος επιλέγεται από A1 έως B5 και το δεύτερο εύρος επιλέγεται από B3 έως D5.

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

Πώς να χρησιμοποιήσετε τη μέθοδο VBA Union για συμμετοχή σε πολλαπλές περιοχές;

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

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

Βήμα 1 - Ανοίξτε τη συνάρτηση UNION στη δευτερεύουσα διαδικασία.

Κώδικας:

Υπο Union_Example1 () Union (End Sub

Βήμα 2 - Αναφέρετε την πρώτη περιοχή κελιών χρησιμοποιώντας αντικείμενο RANGE. Σε αυτήν την περίπτωση, αναφέρομαι στο πρώτο εύρος κελιών ως Α1 έως Β5 .

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), End Sub

Βήμα 3 - Τώρα αναφέρετε τη δεύτερη περιοχή κελιών χρησιμοποιώντας αντικείμενο RANGE, σε αυτήν την περίπτωση, αναφέρομαι στην περιοχή κελιών ως B3 έως D5 .

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")) End Sub

Βήμα 4 - Αφού δημιουργήσουμε την ένωση αυτών των κυττάρων, πρέπει να αποφασίσουμε τι πρέπει να κάνουμε με αυτό το εύρος κελιών. Βάλτε την τελεία (.) Για να δείτε τη λίστα IntelliSense.

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Τέλος Υποτ

Βήμα 5 - Μπορούμε να δούμε όλες τις διαθέσιμες ιδιότητες και μεθόδους αυτών των περιοχών.

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

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior End Sub

Βήμα 6 - Με την εσωτερική ιδιότητα, μπορούμε να κάνουμε πολλά πράγματα, αλλά επειδή πρέπει να αλλάξουμε το χρώμα των κελιών ένωσης, θα επιλέξω την ιδιότητα Χρώμα.

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color End Sub

Βήμα 7 - Τώρα, πρέπει να ορίσουμε την ιδιότητα χρώματος. Θα χρησιμοποιήσω μια ενσωματωμένη ιδιότητα ευρετηρίου χρωμάτων ως vbGreen.

Κώδικας:

Υπο Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color = vbGreen End Sub

Step 8 - Now if I run the code colours of the union cells will be changed to Green colour.

Like this using Union method, we can create unison of two or more range of cells.

Example #2 - Use Variables to Store Range of Cells

All most all the coders use variables to store the reference of the range of cells. For example, look at the below code.

Code:

Sub Union_Example2() Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2).Interior.Color = vbGreen End Sub

First, I have declared two variables as Range.

Dim Rng1 As Range

Dim Rng2 As Range

Then I have set the reference for these two variables.

Set Rng1 = Range(“A1:B5”)

Set Rng2 = Range(“B3:D5”)

Now variable rng1 holds the reference of Range(“A1:B5”) and the second variable rng2 holds the reference of Range(“B3:D5”).

Then I have applied UNION function to change the interior colour of these range of cells.

This also works exactly the same as the previous one, but using variable makes the code very flexible to use.

Error with Union Function

As I told all the references should be mandatory for the UNION method. For example, look at the below code.

Code:

Sub Union_Example3() Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen End Sub

This is similar to the previous, but here I have declared one more variable as Range.

Dim Rng3 As Range

But I have not set the reference to this variable. Rather I just supplied the variable to the UNION function.

Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

If I run this code, we will get the error like the below.

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

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