Forum

Αναζήτηση στο ms-office.gr

Πάμε!
ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > Επιλογή περιοχής κελιών από συνεχόμενα φύλλα και μεταφορά τους σε νέο φύλλο excel

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 06-11-15, 10:27
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-09-2015
Μηνύματα: 8
Προεπιλογή Επιλογή περιοχής κελιών από συνεχόμενα φύλλα και μεταφορά τους σε νέο φύλλο excel

Καλημέρα σε όλα τα μέλη του Forum.
Θα ήθελα τη βοήθειά σας όσον αφορά τη διαφοροποίηση της παρακάτω εντολής που αναζήτησα, βρήκα στο forum και ταιριάζει στη δουλειά που θέλω να κάνω ως προς τα εξής:
-Η στήλη που θέλω να αντιγράψω από τα επιλεγμένα φύλλα θέλω να είναι από B10 έως Β... End(xlDown).
-Τα επιλεγμένα συνεχόμενα φύλλα να ορίζονται από το πρώτο έως το 19.
- Η περιοχή επικόλλησης να είναι στο νέο φύλλο σε στήλες από το Α3 και δεξιά δηλαδή ...Β3, C3, D3, κλπ.

ο κωδικας είναι :
Sub SummarizeWorksheets()
Dim i As Integer
Dim SummarySheet As Worksheet
Dim SrcRange As Range
Dim DestRange As Range

Set SummarySheet = Worksheets("Summary")
With Application
'
.ScreenUpdating = False


.Calculation = xlCalculationManual

.EnableEvents = False

For i = 9 To Worksheets.Count

Set SrcRange = Worksheets(i).Range("O42:AF83")
Set DestRange = SummarySheet.Range("A" & Rows.Count).End(xlUp).Offset(1) _
.Resize(SrcRange.Rows.Count, SrcRange.Columns.Count)

DestRange.Value = SrcRange.Value

Next
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With

End Sub

Τελευταία επεξεργασία από το χρήστη Σανίδας : 07-11-15 στις 09:10.
Απάντηση με παράθεση
  #2  
Παλιά 12-11-15, 23:52
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.357
Προεπιλογή

Καλημέρα
Σε 20 φύλλα (1-19) τα δεδομένα και το 20ο φύλλο, το φύλλο που τα «μαζεύουμε»
Κωδικό όνομα φύλλου SummarySheet
Στα υπόλοιπα 19 φύλλα δεν μας ενδιαφέρει η ονομασία.

Ο κώδικας σε module.
Πιέζουμε το κουμπί Run και «τρέχει»...

Περισσότερα στο βιβλίο...
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Book1.xlsm (45,5 KB, 31 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 15-11-15, 19:47
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-09-2015
Μηνύματα: 8
Προεπιλογή

Σπύρο σε ευχαριστώ πολύ για την απάντηση. Πράγματι η εντολή πραγματοποιεί το ζητούμενο, επέτρεψέ μου όμως να ζητήσω συγγνώμη διότι σαν ζητούμενο δεν ανέφερα ότι τα κελιά είναι και χρωματισμένα, οπότε ζητάω να μεταφερθεί όχι μόνον (.Value) αλλά μαζί και το χρώμα του κάθε κελλιού.
Απάντηση με παράθεση
  #4  
Παλιά 16-11-15, 18:07
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 2.986
Προεπιλογή

Καλησπέρα

Δημήτρη, στο συνημμένο έγινε προσαρμογή του κώδικα, ώστε να αντιγράφεται και το φόντο του κελιού.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm SummarizeCols.xlsm (39,4 KB, 19 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 17-11-15, 12:11
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-09-2015
Μηνύματα: 8
Προεπιλογή

Γιώργο σ' ευχαριστώ για τον κώδικα. Επεξεργάστηκα και γω λίγο το ερώτημά μου και τελικά έκανα μια μικρή τροποποίηση του κώδικα του Σπύρου. Πρόσθεσα στην τιμή .Value το (11) δηλαδή έγινε SrcRange.Value(11) = DestRange.Value(11) επειδή η Value can have 3 optional orguments 10, 11 and 12. (11) is what we need to transfer both value and formats. Ελπίζω να βοήθησα λίγο και γω στη συντόμευση του κώδικα.
Τώρα προσπαθώ στον υπάρχοντα κώδικα να προσθέσω εντολή για φιλτράρισμα των ζητούμενων στηλών βάσει χρώματος κελιού. Καμιά ιδέα;
Απάντηση με παράθεση
  #6  
Παλιά 17-11-15, 14:26
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.357
Προεπιλογή

Δημήτρη ...
Ο προγραμματισμός, δεν είναι τόσο απλό πράγμα, όσο μπορεί να φανεί σε κάποιον,
που θα αρχίσει να διαβάζει, από δω κι από 'κεί διάφορα...

expression .Value(RangeValueDataType)

Η optional τιμή στο Variant: RangeValueDataType = 10,11,12
έχει κινδύνους ...

Αν χρησιμοποιήσεις, αυτό που λές, εκτός από την τιμή και το χρώμα, αυτό καθ' αυτό, θα «πάρει»...
Μορφοποίηση, τύπο, ονοματολογία...
Αυτό είναι επιθυμητό;

Άρα υπ' αυτήν την έννοια, δεν είναι ότι καλύτερο η πρότασή σου...
Απάντηση με παράθεση
  #7  
Παλιά 17-11-15, 15:05
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 2.986
Προεπιλογή

Καλησπέρα

Η λύση που πρότεινα διευκολύνει το φιλτράρισμα με χρώμα.

Όρισε το φόντο του κελιού B1 στο χρώμα που θέλεις και πάτησε το κουμπί Run.

Από τις στήλες των 19 φύλλων θα αντιγραφούν μόνο τα κελιά με το ίδιο φόντο.

Τη λύση σου δεν τη σκέφτηκα, σε γενικές γραμμές όμως συμφωνώ με τις επισημάνσεις του Σπύρου.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm SummarizeCols2.xlsm (40,9 KB, 25 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 17-11-15, 17:30
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-09-2015
Μηνύματα: 8
Προεπιλογή

Καλησπέρα σας.
Σπύρο έχεις δίκιο σ΄αυτό που λές, ΤΙΠΟΤΕ δεν είναι εύκολο στον προγραμματισμό. Θέλει πολύ διάβασμα για την κατανόηση της γλώσσας.
Γιώργο σε ΥΠΕΡ ευχαριστώ ΚΑΙ για την επιπλέον επεξεργασία του κώδικά σου στο ζητούμενό μου. Ήταν πράγματι αυτό που ζητούσα.!!!
Ευχαριστώ και πάλι για το χρόνο που διαθέσατε.
Απάντηση με παράθεση
  #9  
Παλιά 13-03-19, 08:44
Όνομα: Γιάννης
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 21-11-2018
Μηνύματα: 8
Προεπιλογή αναζήτηση σε κελί, πολλά φύλλα, και αντιγραφή της γραμμής/ες σε άλλο φύλλο

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλησπέρα

Δημήτρη, στο συνημμένο έγινε προσαρμογή του κώδικα, ώστε να αντιγράφεται και το φόντο του κελιού.

Φιλικά/Γιώργος
Καλημερα, ειναι το 1ο ποστ που γράφω, θέλω να μάθω από αυτό το παράδειγμα το πως μπορεί να γίνει σε Γραμμή, όχι σε στήλη. Δηλαδή η αναζήτηση είναι σε στήλη, σε πολλά φύλλα, Βρίσκεται το κελι και η γραμμή που είναι το κελί να γίνει αντιγραφή σε άλλο φύλλο. το κριτήριο αναζήτησης μπορεί να υπάρχει και σε άλλα φύλλα, στο ίδιο αρχείο, και θέλω όλες τις γραμμές από όλα τα φύλλα σε άλλο, -στο ίδιο αρχείο-, φύλλο, το κριτήριο αναζήτησης περιεχέι αριθμούς και γράμματα, αγγλικά. επισεις κάθε φορά είναι άλλο κριτήριο, όποτε χρειάζομαι ένα κελί που που γράφω το κριτήριο ή να κάνω επικόλληση το κριτήριο.. Ευχαριστω πολύ για όσους ασχοληθούν, και πολύ κάλο το φόρουμ.

... επίσης βρήκα και αυτό
Παράθεση:
Αρχική Δημοσίευση από Spirosgr Εμφάνιση μηνυμάτων
Κατ αρχήν καλό και σωστό είναι να αποθηκευτούν όλα τα βιβλία σε ίδιο φάκελο
μετά κάνε =SUM([Book2]Sheet1!$A$2;[Book3]Sheet1!$A$2);......;[Book31]Sheet1!$A$2)
όπου [Book....] το όνομα του βιβλίου και Sheet1.....το όνομα του φύλλου
δεν γνωριζω αν μπορει να βοηθησει, Ευχαριστω και παλι!

Τελευταία επεξεργασία από το χρήστη JOHN B : 13-03-19 στις 09:13.
Απάντηση με παράθεση
  #10  
Παλιά 14-03-19, 11:42
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 2.986
Προεπιλογή

Καλημέρα

Γιάννη, δες μια πρόταση στο συνημμένο.

Αφού πληκτρολογήσουμε μια συμβολοσειρά στο κελί B1 του φύλλου Summary, πατούμε το κουμπί Run.

Ο κώδικας ψάχνει τα κελιά των φύλλων (που συμμετέχουν στην αναζήτηση) και, αν βρει κάποιο με την τιμή αναζήτησης, αντιγράφει τη γραμμή στην οποία ανήκει στο φύλλο Summary.

Ελπίζω αυτό να ήθελες.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm SummaryLines.xlsm (49,6 KB, 20 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα

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

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Μεταφορά δεδομένων από φύλλο excel stavraetos Excel - Ερωτήσεις / Απαντήσεις 5 14-12-16 11:24
[Excel07] Αυτόματη μεταφορά στοιχείων από διαφορετικά φύλλα Excel ggatzos Excel - Ερωτήσεις / Απαντήσεις 0 28-06-13 21:07
[Excel07] Καταχώρηση δεδομένων και μεταφορά τους σε άλλο φύλλο. lefteris1973 Excel - Ερωτήσεις / Απαντήσεις 7 18-01-12 13:20
[Γενικά] Δημιουργία καθορισμένης περιοχής σε φύλλο excel othondr Excel - Ερωτήσεις / Απαντήσεις 2 24-12-09 09:06
Μεταφορά κελιών από καρτέλα Excel σε πίνακες της Access germanos Ms-Office 12 07-06-09 10:06


Η ώρα είναι 18:33.