![]() |
Δημιουργία κουμπιού Καλησπέρα στο φόρουμ! Έχω 2 βιβλία excel στα οποία δουλεύω στο γραφείο. Σκέφτομαι να τα κάνω ένα για να είναι όλα τα δεδομένα της δουλειάς μου μαζί. Η ερώτησή μου είναι η εξής, μπορώ να έχω ένα κουμπάκι (βασικά το ίδιο κουμπάκι) σε όλα τα φύλλα του βιβλίου; Ώστε όταν το πατάω να μου εμφανίζει σε λίστα όλες τις ονομασίες φύλλων του βιβλίου (αυτό γνωρίζω ότι είναι εύκολο με δεξί κλικ στα βελάκια κάτω αριστερά). Όμως, σκέφτομαι πως θα μου ήταν πολύ πιο χρήσιμο πατώντας το κουμπί, να ανοίγει ένα παράθυρο το οποίο να περιλαμβάνει την ονομασία του κάθε φύλλου σε μία σειρά και κάτω από την ονομασία του κάθε φύλλου να έχω σε λίστα όλες τις περιοχές που έχω ονομάσει και κλικάροντας επάνω τους να με οδηγούν στον προορισμό. Πόσο εφικτό είναι αυτό; Ευχαριστώ |
1 Συνημμένο(α) Καλησπέρα Σταμάτη, δες μια πρόταση στο συνημμένο. 1) Στο Module1 έχω προσθέσει τη διαδικασία CreateLinks 2) Στο βιβλίο έχω προσθέσει το φύλλο Links. 3) Στα άλλα φύλλα πρόσθεσα ένα κουμπί. Πατώντας το κουμπί εκτελείται ο κώδικας της διαδικασίας CreateLinks, ο οποίος κάνει ενεργό το φύλλο Links και το συμπληρώνει με υπερσυνδέσεις προς τις περιοχές των ονομάτων. |
Καλησπέρα Γιώργο και σε ευχαριστώ πολύ για την πρόταση σου και τον χρόνο που διέθεσες. Θα το δουλεύω στον υπολογιστή αργότερα και θα σε ενημερώσω. |
Γιώργο πολύ ωραία η λύση που προτείνεις σε ευχαριστώ πολύ. Υπάρχει περίπτωση να δημιουργούνται ως σύνδεσμοι οι ονομασίες των περιοχών κι όχι τα διακριτικά των στηλών/σειρών; Δηλαδή στο φύλλο Links αντί για A1:C11 να παίρνω Name1; Εκτός κι αν θέλει αρκετή δουλίτσα όποτε το αφήνουμε. Και πάλι σε ευχαριστώ πολύ |
1 Συνημμένο(α) Σταμάτη, δες το συνημμένο. |
Μπράβο Γιώργο άψογο είναι τέλειο! Σε υπέρ ευχαριστώ! |
Να είσαι καλά! |
1 Συνημμένο(α) Γεια σας και πάλι! Για το συγκεκριμένο ζητούμενο που έδωσε πολύ χρήσιμη λύση ο Γιώργος βρήκα κι άλλη εκδοχή στην οποία κάνει ακριβώς αυτό που ζητούσα αρχικά. Όμως, όταν αντιγράφω τον κώδικα στο κανονικό βιβλίο μου και πάω να δουλέψω με το κουμπί, όταν κάνω κλικ σε ένα από τα φύλλα του βιβλίου μου πετάει Runtime error '1004': Method 'Range' of object '_Global' failed και όταν πατάω debug μου δείχνει το παρακάτω (με κίτρινο φόντο τα κόκκινα γράμματα.) Κώδικας: Private Sub lbxSheets_Click() |
1 Συνημμένο(α) Πήγαινε πίσω στην vba, πάτα το κουμπί της εικόνας και πες μου ποιές βιβλιοθήκες είναι ενεργοποιημένες. |
1 Συνημμένο(α) Μόνο όσα είναι επιλεγμένα στην φωτογραφία! |
Δεν ξέρω τι άλλες ρουτίνες έχεις στο έργο σου, αλλά σ' εμένα δεν χτυπάει πουθενά, με αυτές τις βιβλιοθήκες. Δοκίμασε χωρίς την Ref Edit Control.(?) |
Δεν άλλαξε κάτι με την αφαίρεση της. Όταν μιλάς για ρουτίνες αναφέρεσαι σε κώδικα στην visual basic; Αν ναι, έχω άλλο ένα Module με το οποίο μεταφέρω κάποια δεδομένα από πίνακες σε μια στήλη και μετά σβήνει κάποια άλλα δεδομένα από διάφορες περιοχές σε ένα άλλο φύλλο. Αν βάλω τον κώδικα εδώ θα βοηθήσει; |
1 Συνημμένο(α) Όχι ο κώδικας είναι της φόρμας και εκεί να παραμείνει... Είδα οτι έχεις 2013 office στο profile σου. Αν ισχύει, δες την εικόνα και αν υπάρχουν, αντικατέστησε τις κυκλωμένες, με τις ίδιες αλλά 15.0 έκδοση. Κατά τα άλλα δεν μπορώ να ξέρω τι συμβαίνει διότι όπως σου είπα δεν μου χτυπάει σφάλμα με την παρούσα μορφή... |
Όχι τα έχω αλλάξει σε 2016. Πρέπει να αλλάξω κάτι τώρα; |
Όχι όλα καλά. Άλλαξε το και στο profile σου. Απλά δεν εμφανίζει το σφάλμα σε 'μένα, για για να σου δώσω απάντηση, αλλά και δεν έχω την συνολική εικόνα του έργου, για να δω αν κάτι επηρεάζει και πως ... |
Κάνε μια αλλαγή στον κώδικα με αυτό: Κώδικας: Private Sub lbxSheets_Click() |
Έχω κάνει την αλλαγή στον κώδικα. Κάνω κλικ επάνω στην αριστερή λίστα αλλά δεν κάνει κάτι. Δεν πειράζει μην ταλαιπωρείσαι άλλο με μια σειρά κώδικα, έτσι κι αλλιώς ο Γιώργος πιο πάνω έδωσε εξίσου βολική λύση. Να είσαι καλά για τον χρόνο που διέθεσες σε ευχαριστώ πολύ Σπύρο Επίσης για την έκδοση του 2016 δεν έχει επιλογή στο προφίλ μου ώστε να το αλλάξω. |
1 Συνημμένο(α) Καλησπέρα Σταμάτη στο συνημμένο έκανα κάποιες βελτιώσεις. 1) Τροποποίησα τον κώδικα ώστε στο φύλλο Links να συμπληρώνονται και οι πίνακες που υπάρχουν στα φύλλα. 2) Επίσης τροποποίησα τον κώδικα, για να μη «χτυπάει» όταν ένα όνομα αναφέρεται σε τύπο. |
Γιώργο μπράβο πάρα πολύ καλό μου αρέσει πολύ, ήδη το έχω προσαρμόσει στο βιβλίο μου και δούλεψε. Μια λεπτομέρεια μόνο! Αν μπορεί και αν είναι εύκολο τα ονόματα των φύλλων να είναι σε μια σειρά και κάτω από κάθε όνομα φύλλου σε λίστα οι περιοχές. Το τονίζω γιατί κι έτσι όπως είναι η δουλειά που θέλω γίνεται! Σε ευχαριστώ πάρα πολύ για την λύση σου |
1 Συνημμένο(α) Σταμάτη... Στο δικό μου, η ρουτίνα δεν «χτυπούσε», γιατί δεν έχω ονομασίες που αφορούν τύπους. Στο βιβλίο, υπάρχει ένα update στον κώδικα και στην φόρμα. Αν η ονομασία αφορά τύπους, δεν επιλέγει περιοχή, αλλά βγάζει msgbox. Οι ονομασίες με τύπους ακολουθούν όλα τα φύλλα. Με την επιλογή φύλλου, μεταφερόμαστε στο φύλλο by default, πριν την επιλογή ονόματος. Η επιλογή False ή True στην γραμμή: Application.Goto Range(Me.Lst_NmRng.List(Me.Lst_NmRng.ListIndex)), False 'True είναι επιλογή σου αν θέλεις να «έρχεται» η περιοχή στο πάνω αριστερά μέρος του φύλλου ή όχι. Περισσότερα στο βιβλίο... |
Ε λοιπόν είστε και οι δύο θεότρελοι και καταφέρατε αυτό που ζητούσα! Θέλω να σας πω ένα τεράστιο ΕΥΧΑΡΙΣΤΩ για τον κόπο σας και για τον πολύτιμο σας χρόνο που ξοδέψατε για τη βοήθεια που μου προσφέρατε στο ζήτημά μου. Και η δικιά σου Γιώργο είναι τρομέρη αλλά και η δικιά σου Σπύρο είναι αυτό που έψαχνα από την αρχή. Επειδή λοιπόν δε ξέρω ποια να προτιμήσω τώρα, θα τις κρατήσω και τις δύο και θα τις πάω εναλλάξ :lol::lol: Παρόλα αυτά Σπύρο όχι δεν είχα ονομασία που να αφορά τύπο στο βιβλίο μου. |
Να 'σαι καλά! Αν θέλεις, κάνε μου μια εικόνα, με τις ονομασίες σου από τον name manager, για να δω τι είδους ονομασίες υπάρχουν και να εντοπίσω το σφάλμα... |
2 Συνημμένο(α) Σημείωση Αν θέλει κάποιος μια λίστα (χωρίς κώδικα) με τις ονοματοδοσίες ενός Χ βιβλίου, μπορεί να κάνει το εξής: Επιλέγει ένα κελί, σε ένα φύλλο (υπάρχον ή νέο) που θέλει να «πάρει» την λίστα και ακολουθεί τα βήματα στις εικόνες 1 & 2. Η λίστα, αντιγράφεται στο κελί που επιλέχθηκε και προς τα κάτω. Φυσικά δεν έχουμε navigation, παρά μόνο την λίστα... |
1 Συνημμένο(α) Αυτά εννοείς έτσι; |
Ναι αυτό, αν και δεν φαίνονται καλά τα πεδία... |
1 Συνημμένο(α) Αν υπάρχουν ονομασίες, με περιοχές multi, τότε είναι ένας λόγος για το σφάλμα που εμφάνιζε... *βλέπε εικόνα |
Ωραία οπότε για να τα δεις καλύτερα θα χρησιμοποιήσω τον τρόπο που πατάτες τελευταία και έτσι θα φαίνονται. Αύριο θα σου ανεβάσω ένα αντιγραφο |
Ok ευχαριστώ. Είναι σημαντικό να δω γιατί «χτύπησε» (παρ' όλο που φαντάζομαι) επειδή κρατάω αρχείο σφαλμάτων, εκτός από βιβλιοθήκες και πρότυπα. Αν δεν θέλεις να φανούν τα ονόματά σου, βάλτα σε προσωπικό μνμ. Καλό βράδυ. |
1 Συνημμένο(α) Σταμάτη, στο συνημμένο έβαλα τα ονόματα των φύλλων σε γραμμή |
Καλημέρα Γιώργο μόλις ενημέρωσα τον κώδικα στο βιβλίο μου, σε ευχαριστώ πολύ για ακόμη μια φορά! |
1 Συνημμένο(α) Καλημέρα Σταμάτη, στο συνημμένο: 1) έκανα κάποια τροποποίηση στον κώδικα της πρότασής μου, ώστε να υπάρχει μεγαλύτερη ευελιξία στον τύπο των ονομάτων που θα περιέχει το βιβλίο. 2) Επίσης έκανα κάποιες αλλαγές, στην πολύ καλή πρόταση του Σπύρου, ώστε να εμφανίζονται στη φόρμα και οι πίνακες του βιβλίου και να μη εμφανίζονται τα ονόματα που αφορούν τύπους. Πιστεύω ότι έτσι είναι πιο ολοκληρωμένες οι προτάσεις. |
Μπράβο Γιώργο έχετε φτάσει και οι δυο σας το ζητούμενο σε άλλο επίπεδο πιστεύω. Αφού υπάρχει βελτίωση αν μου επιτρέπετε να ρωτήσω κάτι ακόμη, γίνεται και στις δύο περιπτώσεις να μην εμφανίζονται οι PrintAreas; Όχι βέβαια ότι με ενοχλούν ιδιαίτερα. |
1 Συνημμένο(α) Σταμάτη, δες το συνημμένο. Σημείωση Πρόσθεσα στο δεύτερο μέρος της πρότασης Like ένα «!» και έτσι δόθηκε η δυνατότητα να μη εμφανίζονται οι αυτόματες περιοχές Print_Area, αλλά να εμφανίζονται οι περιοχές με ονόματα που περιέχουν τη συμβολοσειρά "Print_Area" Κλείσιμο «τρύπας» που επισήμανε στο post #37 ο Σπύρος |
Καλησπέρα, Γιώργο είσαι φοβερός!! Μία τελευταία δουλειά έμεινε τώρα ώστε να ολοκληρωθεί! Να ορίσετε να κάνει και καφέ μόνο του! :drinks::drinks: :respect: |
Χαίρουμε που φθάσαμε στο τέλος.... Να είσαι καλά! |
Εγώ από μεριάς μου είμαι υπέρ καλυμμένος/ικανοποιημένος με το τελικό αποτέλεσμα. Να είστε καλά κι εσείς! |
Αμ δεν φτάσαμε στο τέλος...! Φίλε Σταμάτη, (και για όσους μας διαβάζουν) μπορεί να είσαι καλυμμένος ως προς το ζητούμενό σου, όμως οφείλω να πω, ότι η μέθοδος Like... στους κώδικες του Γιώργου έχει παγίδες... Εξηγούμαι Μια περιοχή εκτύπωσης (Print Area) όταν την δημιουργεί η εφαρμογή Excel πάντα είναι ονομασμένη ως: Print_Area με κάτω παύλα ανάμεσα στις λέξεις. Κάθε χρήστης, θα πρέπει να το γνωρίζει αυτό και να ονομάζει τυχόν δικές του περιοχές, με άλλο είδος ονομασίας πχ PrintArea, myPrint_Area κλπ Αν λοιπόν εγώ επιλέξω την δεύτερη μορφή (myPrint_Area) για να ονομάσω μια περιοχή που θα εκτυπώσω μέσω κώδικα, ή γιατί έτσι θέλω(!) (χρήστης είμαι και οι χρήστες κάνουν άπειρα σφάλματα) τότε δεν θα εμφανιστεί το όνομα στην φόρμα (κακώς), παρ' όλο που δεν είναι γνήσια Print_Area, αλλά κατασκευασμένη από τον χρήστη, για δικούς του λόγους... Άρα λοιπόν η μέθοδος Like, δεν ευσταθεί και κάνει τον κώδικα να έχει «τρύπα» Καλό είναι, να αντικαταστήσετε το Like, με μια ισότητα, τροποποιόντας τις απαιτούμενες γραμμές στους κώδικες... |
1 Συνημμένο(α) Οφείλω και μια απάντηση, σχετική με το απόσπασμα από τον name manager με τις ονομασίες σου. Παρ' όλο που δεν εμφανίζονται οι ονομασίες Print_Area, και αφού δεν έχεις ονόματα που αφορούν τύπους, τότε ο αρχικός κώδικας (post #8) «χτύπησε» γιατί πιθανόν υπάρχει / ουν περιοχές εκτύπωσης σε ένα ή περισσότερα φύλλα που δεν είναι ενιαίες... Πχ Μια Print_Area σε φύλλο Χ από a1 έως e50 λειτουργεί σωστά. Μια Print_Area σε φύλλο Χ από a1 έως e30 και από a31 έως e50 μπορεί φαινομενικά να είναι ίδια σαν περιοχή κάλυψης αλλά αυτό δημιουργεί σφάλμα, αφού λαμβάνεται ως multi περιοχή... Πολλές φορές οι χρήστες, δημιουργούν μια περιοχή εκτύπωσης και με την πρόοδο του έργου, προσθέτουν «κάτι» ακόμα (*βλέπε εικόνα) Αυτό δεν επηρεάζει τις εκτυπώσεις από την tab ΑΡΧΕΙΟ, αλλά «χτυπάει» κάποιους κώδικες. |
Καλημέρα, Σπύρο όσον αφορά τις ονομασίες στο συγκεκριμένο βιβλίο σίγουρα δεν ονόμασα κι ούτε θα ονομάσω με τις δύο λέξεις αλλά ούτε καν με μια από τις δύο. Τώρα για τις περιοχές, στο τελευταίο σου ποστ, πάλι θα σου δώσω αρνητική Απάντηση, δεν έχω επιλέξει 2 η περισσότερες φορές έστω και ένα κελί, είτε για να δώσω ονομασία είτε για να ορίσω print_area. |
1 Συνημμένο(α) Καλημέρα Σταμάτη, δεν μιλάω μόνο για 'σένα και τον τρόπο που έχεις κάνει τις ονοματοδοσίες. Μιλάω γενικά για τον...«χρήστη» και τι προβλήματα μπορούν να προκύψουν. Μπορεί κανείς να είναι προσεκτικός στα ονόματα που θα δώσει. Μπορεί και να «τύχει» να μην δοθεί όνομα, που προκαλεί πρόβλημα. Μπορεί ένας κώδικας, να βασίζεται στην τύχη; Φυσικά και όχι... Με όλα όσα είπαμε, μπορεί κάποιο μέλος, να θελήσει να κάνει ένα AddIn και να «αντικαταστήσει» τον default name manager, προσθέτοντας το navigation ή και άλλες λειτουργίες και επομένως να θέλει και τα ονόματα των τύπων να εμφανίζονται αλλά να μην έχουν link, αλλά και οι περιοχές εκτύπωσης, οι πίνακες, τα σχήματα* κλπ Ας δούμε και κάτι άλλο...(*) Αν σε ένα φύλλο, έχω μια εικόνα ή ένα σχήμα (Rectangle 1) που εμπλέκεται σε κάποιον κώδικα και το έχω ονομάσει (*βλέπε εικόνα) τότε δεν θα μου εμφανίσει η φόρμα το όνομα, ενω το θέλω... Γι΄αυτό πρέπει νομίζω, αν κανείς θέλει να κάνει κάτι 100% σωστό, σε βάθος θα πρέπει να στηριχθεί στον αρχικό μου κώδικα και να τον βελτιώσει ανάλογα με τις ανάγκες του, προσθέτοντας ίσως ιδέες και από τον κώδικα του Γιώργου αλλά με την αλλαγή του Like...όπως εξήγησα. Με όλα αυτά που αναφέρω, θέλω μόνο να εξηγήσω, ότι κάποια ερωτήματα, δεν είναι τόσο απλά και επιφανειακά όσο φαίνονται... Όσο για το αρχικό σφάλμα, (που σε γενικές γραμμές ξεπεράστηκε), προσπαθώ να δώσω ερμηνείες, στο τι μπορεί να φταίει και «χτύπησε» ο κώδικας... |
| Η ώρα είναι 15:49. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.