![]() |
Καλησπέρα στην παρέα Κάποιες σκέψεις: Τα δεδομένα σε ένα φύλλο του Excel πρέπει να είναι οργανωμένα σε λίστες (πίνακες) ώστε να διευκολύνεται η αναζήτηση, η ταξινόμηση, το φιλτράρισμα, η εξαγωγή συγκεντρωτικών στοιχείων , κλπ. Τα συγκεκριμένα αρχικά στοιχεία θα πρέπει να οργανωθούν σε μία λίστα (πίνακα) με 2 στήλες. Η μία στήλη θα περιλαμβάνει τις τιμές και η άλλη τον αντίστοιχο α/α. Μπορούμε να διακρίνουμε 2 βασικές περιπτώσεις: 1) Η στήλη των τιμών περιλαμβάνει όλες τις τιμές των αρχικών στηλών (οι στήλες στοιβάζονται σε μία). 2) Η στήλη περιλαμβάνει μόνο τις μοναδικές (τις διαφορετικές) τιμές των στηλών. Η επίτευξη των παραπάνω μπορεί να γίνει με κώδικα απλούστερο και διαφανέστερο από τον αντίστοιχο στον αλγόριθμο του Δημήτρη. Αν και δεν υπάρχει κανένας λόγος, το αντίθετο, αφού δημιουργήσουμε μία λίστα των 2 στηλών, μπορούμε εύκολα να την κατανείμομε σε περισσότερες στήλες, με βάση κάποιο περιορισμό στο πλήθος των γραμμών. |
Καλησπέρα και από εμένα Γιώργο. Πάρα πολύ σωστές οι παρατηρήσεις σου όπως και αυτές του φιλου Χρήστου που έδωσε μια κατά τα άλλα σωστή απάντηση αρχικά στο πρόβλημα μου. Το κακό είναι καλέ μου φίλε ότι δεν μπορούμε να αλλάξουμε κάποιους περιορισμούς που βρίσκουμε(σε μένα αφορά την εργασία μου και ένα ήδη σεταρισμένο περιβάλλον)οπου προσπαθώ να κάνω λίγο πιο ευκολη τη ζωη μου,για αυτό και δεν μπορώ να μιλήσω θεωρητικά για το θέμα καθώς η όλη προσπάθεια θα πέσει στο κενό. Ειμαι σιγουρος λοιπόν πως υπάρχουν πολλοί τροποι να γινει και αλλιώς αλλά δεν θα μπορέσω να κάνω τίποτα,και αυτος είναι ο λογος που ζηταω τον συγκεκριμενο τρόπο λύσης του προβλήματος. ΦΙΛΙΚΑ Δημήτρης |
1 Συνημμένο(α) Καλημέρα Δημήτρη, Δοκίμασε το συνημμένο αρχείο αν λειτουργεί όπως επιθυμείς. Ακολούθησα την ίδια ακριβώς λογική σύγκρισης στηλών. Τώρα η σύγκριση γίνεται μεταξύ τεσσάρων στηλών σε αντίθεση με δύο που γίνεται στον αρχικό πίνακα. Παρελβάλεται δηλαδή και η στήλη με τον Α/Α κάθε γραμμής. Η μόνη διαφορά είναι πως όταν ολοκληρώνεται η δημιουργία του νέου πίνακα με την ενοποίηση των στηλών, γίνεται έλεγχος να διαγράφονται οι κενές γραμμές σε κάθε στήλη. Αυτό συμβαίνει γιατί πλέον οι στήλες δεν έχουν το ίδιο πλήθος γραμμών όπως γινόταν με τον αρχικό πίνακα. Αν δεν πρέπει να γίνει αυτό, διορθώνεται εύκολα. Επίσης, το πορτοκαλί κουμπί θα το πατάς μονάχα στον αρχικό πίνακα ενώ το πράσινο σε όλους τους υπόλοιπους που παρεμβάλεται ο Α/Α σε κάθε στήλη. |
Καλησπερα Χρηστο και σε ευχαριστω παλι για την αμμεση απαντηση σου στο προβλημα μου. Δυο πραγματακια για να δουμε πρωτα εαν εγω κανω κατι λαθος. Α)Πρωτα παταμε πορτοκαλι πληκτρο (με ενα κελι ενεργοποιημενο μεσα στην περιοχη) Β)Αφου κανει την πρωτη μειωση ξαναεπιλεγουμε καποιο κελι στις καινουργιες στηλες και μετα παταμε το cut,σωστα.? Ρωταω για να δω εαν ειναι σωστος ο βηματισμος μου . Εχω και εναν μονο περιορισμο(στις στηλες που δημιουργουνται καθε φορα το μηκος δεν μπορει να ξεπερναει τις 15 εγγραφες. Κοιτα καλε μου φιλε τι αρχιζω να παθαινω με σενα,εκει που δεν ειχα καθολου ιδεα με προγραμματισμο,γραφεις τοσο καλο και απλο κωδικα που ξεκινησα να μελεταω βημα -βημα τι εχεις γραψει και προσπαθω να μαθω οσο μπορω. Σε ευχαριστω παρα πολυ ΧΡΗΣΤΟ . Δημητρης |
Δημήτρη, Το Α) και το Β) είναι έτσι ακριβώς όπως τα περιγράφεις. Απλά θα σταθεροποιήσω τις πρώτες γραμμές έτσι ώστε τα δύο κουμπιά να είναι πάντα σε εμφανές σημείο για το χρήστη. Απέφυγα να βάλω των περιορισμό των 15 γραμμών, γιατί ο νέος πίνακας θα πρέπει να "κτιστεί" πρώτα και στο τέλος να υπολογιστούν οι γραμμές έτσι ώστε ο χρήστης να τον διαγράφει αν δεν του κάνει. Δύο ερωτήσεις: 1. Μήπως προτιμάς να εμφανίζεται μήνυμα που θα σε ενημερώνει για το πλήθος των γραμμών του νέου πίνακα και να σε ρωτάει αν θες να τον κρατήσεις ή όχι; Αλλιώς προχωράω με αυτόματη διαγραφή. 2. Αν έστω και μία στήλη έχει από 16 και άνω γραμμές, ο πίνακας δεν πρέπει να εμφανιστεί; |
1)Το τελικο συνολο των στηλων ειναι κατι που θα πρεπει να γνωριζω 2)ο περιορισμος στις 15 γραμμες(μηκος)ειναι κατι που δεν μπορω να αποφυγω,οποτε φανταζομαι οτι αν 3 η 4 στηλες συγκρινομενες μεταξυ τους δινουν για παραδειγμα 17 γραμμες ας κανει - 1 ελεγχο στηλης για να μην ξεπερασουμε αυτη τη δεσμευση. Κατα τα αλλα τι να πω,ελπιζω και θελω να πιστευω οτι σε βοηθαω και εσενα Χρηστο απο οτι βλεπω να γινεσαι καλυτερος με τα τοσα ποστ που εχω ανεβασει. Με ξεχωριστη εκτιμηση στο προσωπο σου Δημητρης |
1 Συνημμένο(α) Καλημέρα Δημήτρη, Βελτιοποίησα τον κώδικα έτσι ώστε να έχεις μονάχα ένα κουμπί για τη δημιουργία νέων πινάκων, ανάλογα πάντα το ενεργό κελί. Πριν τη δημιουργία του νέου πίνακα, ένα μήνυμα ενημερώνει το χρήστη για τις διαστάσεις του (πλήθος γραμμών και στηλών) και εκείνος αποφασίζει αν πρέπει να δημιουργηθεί ή όχι. Ελπίζω να σε διευκολύνει το νέο αρχείο. |
Η προσπαθεια σου ειναι αξιεπαινη Χρηστο. Εχω μονο ενα τελικο ζητημα με το μηκος (δεν πρεπει να ξεπερναει το 15) Υπαρχει περιπτωση αυτο να διορθωθει ? Αυτες οι στηλες που ξεπερνουν τις 15 γραμμες ας γινουν αλλου μηκους και ας βγει 1 η 2 παραπανω,,,,,δεν πειραζει δηλ στο παραδειγμα που εχεις ανεβασει το πρωτο RUN κανει τις στηλες 36 και το δευτερο RUN τις κανει 19 εκ των οποιων μονο η μια ειναι 16γραμμων(απαγορευτικη)...αυ η λοιπον κα στα δυο να σπασει παλι θα εχουμε 20 στηλες ΤΕΛΙΚΕΣ που ειναι super!. Aυτο λοιπον μονο και ειμαστε ΟΚ! ΕΝΝΟΕΙΤΑΙ χιλια ευχαριστω....... |
Η προσπαθεια σου ειναι αξιεπαινη Χρηστο. Εχω μονο ενα τελικο ζητημα με το μηκος (δεν πρεπει να ξεπερναει το 15) Υπαρχει περιπτωση αυτο να διορθωθει ? Αυτες οι στηλες που ξεπερνουν τις 15 γραμμες ας γινουν αλλου μηκους και ας βγει 1 η 2 παραπανω,,,,,δεν πειραζει δηλ στο παραδειγμα που εχεις ανεβασει το πρωτο RUN κανει τις στηλες 36 και το δευτερο RUN τις κανει 19 εκ των οποιων μονο η μια ειναι 16γραμμων(απαγορευτικη)...αυ η λοιπον κα στα δυο να σπασει παλι θα εχουμε 20 στηλες ΤΕΛΙΚΕΣ που ειναι super!. Aυτο λοιπον μονο και ειμαστε ΟΚ! ΕΝΝΟΕΙΤΑΙ χιλια ευχαριστω....... |
Αν κατάλαβα σωστά, αυτό που χρειάζεσαι είναι πως όταν υπάρχουν στήλες άνω των 15 γραμμών, οι επιπλέον γραμμές (π.χ. στήλη με 20 γραμμές, οι τελευταίες 5 γραμμές) θα μεταφέρονται σε δυο νέες διπλανές στήλες (μαζί με τον Α/Α) και όλες οι υπόλοιπες θα μετακινούνται δύο στήλες πιο δίπλα. Σωστά; |
| Η ώρα είναι 06:05. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.