![]() |
Αυτόματη αύξηση (κωδικού) κατά 1 σε πίνακα 1 Συνημμένο(α) Χρόνια πολλά, Θα ήθελα τη βοήθεια σας σε αυτό που περιγράφω στον τίτλο Ευχαριστώ. |
Μια ιδέα θα ήταν αυτή....ίσως να μπορούσε να βελτιωθεί ... δεν ξέρω.... |
Χρήστο καλησπέρα, Δεν μου δούλεψε σωστά! όταν προσθέσω κάποιο όνομα στο παράδειγμα που ανέβασες, επαναλαμβάνει δύο φορές το ίδιο νούμερο. δοκίμασε το από εκεί που άφησες το παράδειγμα. |
Δεν το βλέπω... |
δε μου λες...όταν γράφεις (χωρίς να αφήνεις κενές γραμμές...γραμμή ανά γραμμή δηλαδή), επεκτείνεται ο πίνακας, ή έχεις διακόψει τις αυτόματες μορφοποιήσεις? |
όπως το έχεις φτιάξει δουλεύει σωστά. παρέλειψα μια λεπτομέρεια, να διατυπώσω από την αρχή ότι, η ανάπτυξη του πίνακα θέλω να γίνεται κάθε φορά που προσθέτω όνομα αυτόματα, τι θέλω να πω δοκίμασε να προσθέσεις όνομα χωρίς να σύρεις με το ποντίκι τον πίνακα προς τα κάτω |
Μα αυτό κάνω......κάνε τα εξής: Επιλογές Excel > Εργαλεία ελέγχου > Επιλογές αυτόματης διόρθωσης > Αυτόματη μορφοποίηση κατά την πληκτρολόγηση > Βάλε τικ σ' αυτό που δεν έχει (προσθήκη γραμμών και στηλών ....)! |
Έχω το office 2013 και από τις επιλογές excel δεν υπάρχει "καρτέλα εργαλεία ελέγχου" Συγνώμη σε έχω κουράσει!. |
Ελπίζω να βοηθηθείς... |
Καλησπέρα Αυτά τα θέματα, λύνονται μόνο με κώδικα. Αν έχω τύπους και ο πίνακας μου είναι πχ κωδικός | όνομα --------------------------- 101 | Όνομα 1 102 | Όνομα 2 103 | Όνομα 3 104 | Όνομα 4 Αν διαγράψω το (102 | Όνομα 2), όλα τα άλλα από κάτω θα αλλάξουν. Δεν νομίζω να θέλει κανείς να αλλάζουν οι κωδικοί πελατών για παράδειγμα.... |
Έτσι όπως το θέτεις.....σίγουρα όχι...........εγώ το αντιλήφθηκα για απλή αρίθμηση να πω την αλήθεια |
Είναι τικαρισμένη η επιλογή (προσθήκη γραμμών και στηλών ....) Τι να πω δεν ξέρω, Εκτός και στην excel 2013 διατυπώνεται διαφορετικά η συνάρτηση!. |
Στο αρχείο του ο Γιώργος, μιλάει για κωδικό... Εκτός, αν δεν είναι κωδικός και είναι απλή αρίθμηση, όπως λές... Αλλά σε αρίθμηση, δεν ξεκινάμε από το 101 αλλά από το 1 και δεν χρειάζεται, όλο αυτό =COUNTA($C$4:C4) αλλά =ROW() - όσες γραμμές από 'πάνω |
Γιώργο, άσε τις ρυθμίσεις και πες μας ... τελικά είναι κωδικός ή αρίθμηση; |
Ας προσπαθήσουμε να δώσουμε λύση με VBA...όπως πολύ σωστά λέει ο Σπύρος..που κοιτάει πιο μπροστά.... (σκέψη: ίσως θα μπορούσε να βρίσκει την μέγιστη τιμή και να την αυξάνει κατά 1...) Δεν το είχα σκεφτεί.... Row()-γραμμές από πάνω |
Αν βρίσκει, την μέγιστη τιμή, όπως λες, έστω 201 Όνομα Χ και η αμέσως προηγούμενη, 200 Όνομα Ψ αν χρειαστεί να διαγραφεί η μέγιστη, τι θα γίνει; Ο επόμενος, (νέα εγγραφή) Όνομα Ζ θα έχει πάλι κωδικό 201; και το υπάρχον ιστορικό (εγγραφές-υπολογισμοί) με τον 201 Όνομα Χ; |
βραδυνή εργασία... |
Πριν ενάμιση χρόνο είχα ανεβάσει αυτό... Ένας από τους κώδικες, που κάνει όμως, αξιόπιστα την δουλειά... http://www.ms-office.gr/forum/excel-...istobject.html |
Σπύρο καλησπέρα, πολύ σωστά το επισήμανες δεν είναι κωδικός, αλλά απλή αρίθμηση. Αυτό με το =Row(), κάποιο παράδειγμα ίσως? για να μπορέσω να το καταλάβω. Ευχαριστώ. |
και γιατί Γιώργο μου, από την αρχή, δεν λες αρίθμηση, αλλά λες κωδικός; Από την άλλη, δεν θα περίμενα από σένα μια τέτοια ερώτηση... Υποτίθεται, έχεις αρκετή εμπειρία σε πιο σύνθετα ζητήματα... |
Σπύρο μου συγνώμη, Λάθος μου. |
Στο συνημμένο παρουσιάζω την εργασία μου με ότι έχω καταφέρει έως τώρα, στην προσπάθειά μου να δίνω στο ID έναν αριθμό (με διαδοχική αύξηση κατά 1). Θα εκτιμούσα αν με βοηθούσατε να διαχειρίζομαι και την περίπτωση (δεν το κάνω τώρα) που παρεμβάλλεται μια νέα γραμμή, ώστε να παίρνει αυτόματα το ID τον επόμενο αριθμό (επαυξημένο κατά 1). |
Καλησπέρα 1 Εφ' όσον πρόκειται για ID, η δεύτερη περίπτωση, αποκλείεται ... Καμία βάση δεδομένων (ακόμα και οι επίπεδες) δεν έχουν κενές γραμμές, κι αν έχουν για κάποιο λόγο (πολύ σπάνια), ποτέ δεν πρέπει να είναι, χωρίς ID 2 Καλύτερα να υιοθετήσεις, τον κώδικα που έχω πιο πάνω... 3 Ο κώδικας διαγραφής, έχει λαθάκια και θέλει βελτίωση... Σημείωση: Να αποφεύγεις, τα Select. Τα On Error, δεν χρησιμοποιούνται, με τον καλύτερο τρόπο. Αντί για Set Table θα ήταν καλύτερα κάτι σαν Set tbl H Ονομασία κελιού offset θα ήταν καλύτερα να μην υπάρχει Δοκίμασε για παράδειγμα, κάτι σαν NumCell... |
Καλημέρα...γράφοντας "παρεμβάλλεται μια νέα γραμμή" δεν εκφράστηκα με τον καλύτερο τρόπο. Όταν εισάγεται μια νέα γραμμή δεν φροντίζω να παίρνει το ID αρίθμηση...και βέβαια θέλω να παίρνει! προσπαθώντας να το διαχειριστώ (μέσω των IF) μου δίνει τον μεθεπόμενο αριθμό!! με το 1ο κλικ (για να κάνω εισαγωγή) το bank αυξάνεται κατά 1 και με το 2ο (selection change) κατά ένα, οπότε το ID γίνεται μεγαλύτερο κατά 2!! "Σ' αυτό" το σημείο θα ήθελα βοήθεια αν είναι δυνατόν...πάντως θα μελετήσω την πρότασή σου...καλημέρα... |
Καλησπέρα, Σπύρο η πρόταση σου (Γενική μέθοδος αυτόματης εισαγωγής ID) είναι μια καλή ιδέα για αυτό που θέλω να κάνω, θα ήθελα κάνοντας κλικ, για εισαγωγή γραμμών χωρίς να υπάρχει "όνομα, επώνυμο", να ακυρώνεται η ενέργεια και να παίρνω μήνυμα (msgBox) προσθήκης ονόματος κ.τ.λ. "Σε αυτό" το σημείο θα ήθελα βοήθεια. Φιλικά, Γιώργος |
Σπύρο, στο αρχείο σου διαπυστώνω ότι αν διαγράψω ένα ID και κατόπιν προσθέσω νέα γραμμή γίνεται μεγάλο μπέρδεμα, διότι ξαναπαίρνει τιμή το σβησμένο και μπορεί να υπάρχουν διπλοεγγραφές στα IDs.... ή αν εισάγω μια νέα γραμμή δίχως κουμπί και διαδοχικά μια νέα με το κουμπί τότε και οι 2 παίρνουν το ίδιο ID... Είμαι σίγουρος ότι τα γνωρίζεις αλλά δεν θα έπρεπε να προβλέπονται όλες αυτές οι ενέργειες; |
Πρώτο Όταν έχουμε ένα έργο - πρόγραμμα, όπου πρέπει να πατάμε κουμπί, για να εισαχθεί γραμμή, πατάμε το κουμπί πάντα και δεν βάζουμε γραμμές, ποτέ με το χέρι... Το συγκεκριμένο έργο, «θέλει» εισαγωγή, νέας γραμμής πάντα με κουμπί και πάντα στην θέση 1 Δεύτερο Στα σοβαρά προγράμματα, ποτέ δεν διαγράφουμε, αλλά κρατάμε ιστορικό. Το έργο αυτό, (δεν διάβασες το παράδειγμα καλά), προβλέπει στήλη status με χαρακτηρισμό, «Ενεργός», «Ανενεργός» Ο χρήστης, δεν διαγράφει αλλά θέτει ανενεργό, ό,τι δεν ισχύει... Τρίτο αναφέρεις... «αν εισάγω μια νέα γραμμή δίχως κουμπί και διαδοχικά μια νέα με το κουμπί τότε και οι 2 παίρνουν το ίδιο ID...» Έβαλες γραμμή με το χέρι και πήρε μόνη της ID; Δεν νομίζω... Τέταρτο αναφέρεις... «ότι αν διαγράψω ένα ID και κατόπιν προσθέσω νέα γραμμή γίνεται μεγάλο μπέρδεμα, διότι ξαναπαίρνει τιμή το σβησμένο και μπορεί να υπάρχουν διπλοεγγραφές στα IDs....» Δεν υπάρχει, ούτε μια στο εκατομμύριο να διαγραφεί γραμμή και να υπάρξει, επόμενη με ήδη χρησιμοποιημένο ID |
Αυτό που κατάλαβα είναι ότι πρέπει να είναι ξεκάθαρο τι κάνει το πρόγραμμα και τι αναμένουμε απ' τον χρήστη (δεν μπορεί να κάνει ότι θέλει...με κάποιον τρόπο θα πρέπει να περιορίζεται)...αυτό δεν είχα αντιληφθεί....Φίλε Σπύρο καληνύχτα... |
| Η ώρα είναι 10:26. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.