Dafnousaki Δημοσ. 4 Δεκεμβρίου 2010 Δημοσ. 4 Δεκεμβρίου 2010 Καλημέρα σας, έχω μια απορία με γραφήματα στο excel. έχω 5 πινάκες σε ένα φύλλο και έχω δημιουργήσει 5 γραφήματα για τον καθένα. Το πρόβλημά μου είναι το εξής έχω 50 φύλλα με 5 τέτοιους πίνακες ο καθένας. Γνωρίζεται εάν υπάρχει κάποιος τρόπος με κάποια φόρμουλα να δημιουργήσω αυτόματα τα γραφήματα για τους πινάκες του κάθε φύλλου, να σας πω ότι οι πίνακες είναι ιδίου μεγέθους και ακριβώς στο ίδιο σημείο μέσα στο κάθε φύλλο. Ευχαριστώ
Physics_Rulez Δημοσ. 4 Δεκεμβρίου 2010 Δημοσ. 4 Δεκεμβρίου 2010 Φυσικά και γίνεται. Θα κάνεις καταγραφή μακροεντολής και θα δημιουργήσεις τα γραφήματα σε ένα φύλλο. Μετά στα υπόλοιπα (αφού τα δεδομένα είναι ακριβώς στις ίδιες θέσεις) θα κάνεις εκτέλεση μακροεντολής και τα δημιουργήσει τα γραφήματα αυτόματα. Πχ. αυτός ο κώδικας: > Sub Graph() ' ' Graph Μακροεντολή ' ' Συντόμευση πληκτρολογίου: Ctrl+Shift+G ' Range("B3:C12").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ActiveChart.SetSourceData Source:=Range("Öýëëï1!$B$3:$C$12") Range("G24").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlPie ActiveSheet.Shapes("ÃñÜöçìá 2").IncrementLeft -5.25 ActiveSheet.Shapes("ÃñÜöçìá 2").IncrementTop 234.75 ActiveWindow.SmallScroll Down:=-6 Range("B3:C13").Select ActiveSheet.ChartObjects("ÃñÜöçìá 2").Activate ActiveChart.Parent.Delete Range("B3:C12").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlPie ActiveChart.SetSourceData Source:=Range("Öýëëï1!$B$3:$C$12") ActiveWindow.SmallScroll Down:=6 ActiveSheet.Shapes("ÃñÜöçìá 3").IncrementTop 240 Range("O24").Select End Sub δημιουργεί αυτόματα 2 γραφήματα και παίρνει τα δεδομένα από 2 στήλες. Η μία από B3:B12 και η άλλη από C3:C12 πολύ πρόχειρα το έκανα....
MastroGiannis Δημοσ. 4 Δεκεμβρίου 2010 Δημοσ. 4 Δεκεμβρίου 2010 Καλημέρα Dafnousaki! Για να πετύχεις αυτό που ζητάς, θα πρέπει να δημιουργήσεις μια μακροεντολή ακολουθώντας τα παρακάτω βήματα: Αρχικά δημιούργησε ένα αντίγραφο του βιβλίου εργασίας ώστε να κάνεις κάποιες δοκιμές με ασφάλεια. Ενεργοποίησε την καταγραφή μακροεντολών και δημιούργησε τους 5 πίνακες. Απενεργοποίησε την καταγραφή μακροεντολών. Προσπάθησε στο επόμενο φύλλο να εκτελέσεις τη μακροεντολή που μόλις κατέγραψες.(Με Alt+F8 εμφανίζεται το παράθυρο διαλόγου με τις διαθέσιμες μακροεντολές) Αν δημιουργούνται τα γραφήματα σύμφωνα με τα πρότυπα, εκτέλεσε τη μακροεντολή και στα υπόλοιπα φύλλα. Αν διαθέτεις κάποιες γνώσεις στη VBA, θα μπορέσεις τροποποιήσεις τη μακροεντολή έτσι ώστε να την εκτελέσεις μια φορά για όλα τα φύλλα. Αν όχι θα την εκτελέσεις μια φορά για κάθε φύλλο (49 φορές). Εύχομαι να τα καταφέρεις... Υ.Γ. Oups! Μ' έφαγε στη στροφή ο Physics...
Dafnousaki Δημοσ. 4 Δεκεμβρίου 2010 Μέλος Δημοσ. 4 Δεκεμβρίου 2010 Έκανα αυτό με την μακροεντολή, αλλά όταν πηγαίνω σε κάποιο άλλο φύλλο (δεύτερο) και την εκτελώ με πηγαίνει στο αρχικό φύλλο(Το πρώτο) εκεί που την είχα δημιουργήσει και μου την εκτελεί για το ίδιο (Το πρώτο). Τι κάνω λάθος ???
MastroGiannis Δημοσ. 4 Δεκεμβρίου 2010 Δημοσ. 4 Δεκεμβρίου 2010 Προσπάθησε να αντικαταστήσεις το όνομα του πρώτου φύλλου στον κώδικα της μακροεντολής με το ActiveSheet. Στο παράθυρο "Macro" (Alt+F8) πάτα στο "Επεξεργασία" (ή "Edit"), εντόπισε το όνομα του φύλλου, επίλεξέ το και χρησιμοποίησε το παράθυρο "Find" (Ctrl+F) για να κάνεις την αντικατάσταση. Αποθήκευσε τις αλλαγές και ξαναπροσπάθησε να εκτελέσεις τη μακροεντολή στο δεύτερο φύλλο. Υ.Γ. Μήπως όμως είναι λίγο υπερβολή να διατηρείς 50 πανομοιότυπα φύλλα σε ένα βιβλίο; Μήπως είναι καλύτερα να έχεις ένα φύλλο με τα γραφήματα και ένα με τα δεδομένα των 50 περιπτώσεων έτσι ώστε αλλάζοντας μόνο τα δεδομένα (με τύπους) να έχεις τα επιθυμητά γραφήματα;
Dafnousaki Δημοσ. 4 Δεκεμβρίου 2010 Μέλος Δημοσ. 4 Δεκεμβρίου 2010 Μα οι πίνακες ειναι ίδιων διαστασεων αλλα τα δεδομενα που περιεχουν αλλαζουν στο καθε φύλλο. Θέλω να συγκρίνω 50 καταστήματα σε 5 διαφορετικά κρητίρια (5 πινακες)
MastroGiannis Δημοσ. 4 Δεκεμβρίου 2010 Δημοσ. 4 Δεκεμβρίου 2010 Μα οι πίνακες ειναι ίδιων διαστασεων αλλα τα δεδομενα που περιεχουν αλλαζουν στο καθε φύλλο. Θέλω να συγκρίνω 50 καταστήματα σε 5 διαφορετικά κρητίρια (5 πινακες) Διατηρώντας ένα φύλλο για κάθε κατάστημα, και το αρχείο "βαραίνεις" άσκοπα και τη ζωή σου δυσκολεύεις. Φαντάσου να είχες 200 καταστήματα. Αντιθέτως, αν διατηρείς τα δεδομένα όλων των καταστημάτων σε ένα φύλλο, μπορείς να τραβάς από εκεί τα δεδομένα στους πίνακες του φύλλου με τα γραφήματα, αλλάζοντας μόνο το κατάστημα. Έτσι είναι πολύ πιο εύκολο να βγάζεις τα συγκεντρωτικά αποτελέσματα που θέλεις. Δες ένα minimal παράδειγμα στο συνημμένο για να καταλάβεις. Στο φύλλο "Data" διατηρούνται τα στοιχεία και τα δεδομένα όλων των καταστημάτων. Στο φύλλο "Graph" τα δεδομένα και το γράφημα προσαρμόζονται ανάλογα με το επιλεγμένο κατάστημα και έτος. EasyGraph.zip
Dafnousaki Δημοσ. 4 Δεκεμβρίου 2010 Μέλος Δημοσ. 4 Δεκεμβρίου 2010 Πολύ καλό αυτό, αλλά νομίζω οτι είναι πολυ δυσκολο για το δικο μου excel,δεν ξερω αν μπορω να το φτιάξω, δεν με νοιάζει αν βαραινει την εφαρμογή, απλα θέλω να μπορώ να το κάνω αυτόματα, κατι το οποίο δέν μου βγαίνει. Βσικό είναι το Γραφημα να δημιουργείται στην ιδια σελίδα με τον πίνακα και όχι δε νέο φύλλο ??????
MastroGiannis Δημοσ. 6 Δεκεμβρίου 2010 Δημοσ. 6 Δεκεμβρίου 2010 Καλησπέρα! Αν μπορείς ανέβασε τον κώδικα της μακροεντολής που κατέγραψες για να τον δούμε.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.