
02-10-17, 12:28
|
 | Συντονιστής Όνομα: Σπύρος Τσιλιγιάννης Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 22-11-2011 Περιοχή: Αθήνα
Μηνύματα: 2.321
| |
Αντιγράφουμε τον πιο κάτω κώδικα, σε μια module.
Συνδέουμε τον κώδικα, σε ένα κουμπί ή τον «τρέχουμε» με όποια άλλη μέθοδο θέλουμε. Κώδικας: Sub Combine()
Dim sh As Worksheet _
, Lrow As Long, Nrow As Long _
, Rng As Range, tRng As Range _
, i As Long
Application.ScreenUpdating = False
Lrow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
Set Rng = Sheet1.Range("b7:b" & Lrow)
If Lrow = 6 Then GoTo cnt_Here:
Rng.ClearContents
cnt_Here:
For i = 2 To ThisWorkbook.Sheets.Count
Lrow = 0
Nrow = 0
Lrow = Sheets(i).Cells(Rows.Count, 2).End(xlUp).Row
Nrow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row + 1
Sheets(i).Range("b7:b" & Lrow).Copy _
Destination:=Sheet1.Cells(Nrow, 2)
Next i
Lrow = 0
Lrow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
Set tRng = Sheet1.Range("b7:b" & Lrow)
tRng.RemoveDuplicates Columns:=1, Header:=xlYes
Sheet1.Sort.SortFields.Clear
Sheet1.Sort.SortFields.Add Key:=tRng, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Sheet1.Sort
.SetRange tRng
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Σημειώσεις:
Ο κώδικας, μεταφέρει τις εγγραφές από όλα τα (ν) φύλλα του βιβλίου, στο Total.
Κατόπιν, διαγράφει τα διπλότυπα και ταξiνομεί Α-Ω ή Α-Ζ
Το φύλλο Total, θα πρέπει να παραμείνει με κωδικό όνομα = Sheet1 και
πάντα στην πρώτη θέση του βιβλίου.
Οι εγγραφές στα φύλλα, θα πρέπει να είναι στην μορφή και διάταξη
του παραδειγματικού βιβλίου.
Το βιβλίο, θα πρέπει να αποθηκευτεί, ως .xlsm
|