Πώς να δημιουργήσετε μια λίστα με μοναδικές τιμές από πολλά φύλλα εργασίας στο Excel;
Υπάρχει κάποιος γρήγορος τρόπος για να δημιουργήσουμε μια λίστα με μοναδικές τιμές από όλα τα φύλλα εργασίας σε ένα βιβλίο εργασίας; Για παράδειγμα, έχω τέσσερα φύλλα εργασίας που απαριθμούν ορισμένα ονόματα περιέχουν διπλά στη στήλη Α και τώρα, θέλω να εξαγάγω όλα τα μοναδικά ονόματα από αυτά τα φύλλα σε μια νέα λίστα, πώς θα μπορούσα να ολοκληρώσω αυτήν την εργασία στο Excel;
Δημιουργήστε μια λίστα με μοναδικές τιμές από πολλά φύλλα εργασίας με κώδικα VBA
Δημιουργήστε μια λίστα με μοναδικές τιμές από πολλά φύλλα εργασίας με κώδικα VBA
Για να απαριθμήσετε όλες τις μοναδικές τιμές από όλα τα φύλλα εργασίας, ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει, κάντε το εξής:
1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε την ακόλουθη μακροεντολή στο Μονάδα μέτρησης Παράθυρο.
Κωδικός VBA: Δημιουργήστε μια λίστα με μοναδικές τιμές από πολλά φύλλα εργασίας:
Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
If xObjWS.Name = xStrName Then
xObjWS.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xMaxC < xColumn Then
xMaxC = xColumn
End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
xIntN = 1
For xFNum = 1 To Sheets.Count - 1
Set xR = Sheets(xFNum).Columns(xColumn)
If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
Cells(xIntN, xColumn).PasteSpecial xlValues
xIntN = xIntRox + xIntN + 1
End If
Next xFNum
If xIntRox - 1 > 0 Then
xIntRox = xIntN - 1
xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Range(xStrAddress).Copy
Cells(1, xColumn + 1).PasteSpecial xlValues
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
Columns(xColumn).Delete
Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Αφού επικολλήσετε τον παραπάνω κωδικό και πατήστε F5 για να εκτελέσετε αυτόν τον κώδικα και ένα νέο φύλλο εργασίας με το όνομα Μοναδική τιμή δημιουργείται και τα μοναδικά ονόματα στη στήλη Α από όλα τα φύλλα εμφανίζονται ως εξής:
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!