Forum
ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > αντιγραφή πολλων φυλλων σε ενα στο excel

Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 03-06-10, 20:56
Όνομα: Μάκης
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 03-06-2010
Περιοχή: Σπάτα
Μηνύματα: 48
Προεπιλογή αντιγραφή πολλων φυλλων σε ενα στο excel

Παρακαλώ,πως θα ενώσω αυτόματα,7 φύλλα εργασίας στο excel σε ενα.Οι εγγραφες στις στηλες ειναι 3000 και οι σειρες 20,αλλα μπορεί να ειναι και λιγοτερες ή περιασσότερες.

Τελευταία επεξεργασία από το χρήστη Tasos : 04-06-10 στις 00:38.
Απάντηση με παράθεση
  #2  
Παλιά 04-06-10, 02:23
Το avatar του χρήστη Chris
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 106
Προεπιλογή

Καλημερα Νικο και καλως ηρθες στο φορουμ

για να κανεις συγχωνευση των 7 φυλλων σε ενα πρεπει να βαλεις στο βιβλιο στην VBA τον παρακατω κωδικα.
Για να ανοιξεις τον VBE πατας (Alt+F11) κατοπιν εισαγεις μια λειτουργική μοναδα απο το μενου Insert -> Module και κανεις επικολληση τον κωδικα:
Κώδικας:
Option Explicit
' Τα ονόματα των φύλλων προς συγχώνευση στο φύλλο με κωδικό όνομα: "Sheet1"
Const  SheetNames = "Sheet2,Sheet3,Sheet4,Sheet5,Sheet6,Sheet7,Sheet8"
Sub MergeWorkSheets()
    Dim wks As Worksheet, MergeSheet As Worksheet
    Set MergeSheet = Sheet1 'To κωδικό όνομα του φύλλου όπου θα γίνει η συγχώνευση
                            'Χρειάζεται προσαρμογή
    For Each wks In ThisWorkbook.Worksheets
        If InStr(1, SheetNames, wks.Name) <> 0 Then
            wks.Range("A2:Z" & wks.Cells.SpecialCells(xlCellTypeLastCell).Row).Copy _
            MergeSheet.Range("A" & MergeSheet.Cells.SpecialCellsxlCellTypeLastCell).Row + 1)
        End If
    Next
End Sub
Βασικη προυποθεση ειναι οτι ολα τα φυλλα ακομη και αυτο που θα τα μεταφερεις θα πρεπει να εχουν επικεφαλιδες. Αν θελεις να σου μεταφερει και τις επικεφαλιδες γιατι ισως να ειναι διαφορετικες σε καθε φυλλο τοτε αλλαξε το (wks.Range("A2:Z" .....) και καντο (wks.Range("A1:Z" .......)
__________________
Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 04-06-10 στις 12:57.
Απάντηση με παράθεση
  #3  
Παλιά 04-06-10, 08:36
Όνομα: Μάκης
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 03-06-2010
Περιοχή: Σπάτα
Μηνύματα: 48
Προεπιλογή

Χρήστο ευχαριστώ πολύ για την βοηθεια.
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Σύγκριση τιμών μεταξύ δύο φύλλων jose Excel - Ερωτήσεις / Απαντήσεις 6 24-11-11 06:19
[Excel07] Σύνδεση φύλλων??? mdragon Excel - Ερωτήσεις / Απαντήσεις 7 14-01-11 13:29
[Excel07] Ένωση Φύλλων mdragon Excel - Ερωτήσεις / Απαντήσεις 8 26-10-10 18:25
[Γενικά] Δημιουργία λίστας φύλλων ενός βιβλίου Billy Excel - Ερωτήσεις / Απαντήσεις 3 14-06-10 09:01
Αντιγραφή / μεταφορά δεδομένων Access 2007 σε Excel 2007 Galileo Ms-Office 8 28-01-10 00:23


Η ώρα είναι 15:44.