Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Αύξοντα αριθμό σε βιβλίο εργασίας (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/6418-aiksonta-arithmo-se-biblio-ergasias.html)

man235 13-01-24 10:51

Αύξοντα αριθμό σε βιβλίο εργασίας
 
1 Συνημμένο(α)
Καλησπέρα. Αν βρείτε άκρη με σώζετε...
Πως γίνεται σε κάθε βιβλίο εργασίας Excel που ανοίγω, να έχει σε ένα συγκεκριμένο κελί ένα μοναδικό αύξοντα πενταψήφιο αριθμό? Δηλαδή έχω πχ ένα βιβλίο με στοιχεία πελάτη και θέλω σε ένα κελί να δίνει ένα μοναδικό αριθμό για τον πελάτη. Μετά την αποθήκευση του βιβλίου , το ανοίγω πάλι και έχει άλλο αριθμό σε αυτό το κελί ώστε να βάλω τον επόμενο πελάτη.
Για παράδειγμα το Β4 να παίρνει αύξοντα αριθμό κάθε φορά που ανοίγω το βιβλίο.
Ευχαριστώ εκ των προτέρων...

ChrisGT7 13-01-24 13:06

1 Συνημμένο(α)
Καλησπέρα Πέτρο,

Δοκίμασε μια πρόταση στο συνημμένο αρχείο με κώδικα. Θα πρέπει να ενεργοποιήσεις τις μακροεντολές για να λειτουργήσει το κουμπί ΔΗΜΙΟΥΡΓΙΑ.

Το φύλλο ΝΕΟΣ ΠΕΛΑΤΗΣ είναι η φόρμα όπου καταχωρούνται τα στοιχεία του νέου πελάτη.

Στο κίτρινο κελί βάλε τον εναρκτήριο κωδικό (να είναι πάντα αριθμός) ώστε κάθε φορά που δημιουργείται ένας νέος πελάτης, ο κωδικός θα αυξάνεται κατά μία μονάδα.

Αν εισαχθεί κωδικός που δεν είναι αριθμός, θα εμφανιστεί σχετικό μήνυμα λάθους.

Το νέο φύλλο θα έχει ως όνομα τον κωδικό πελάτη. Αν τυχόν βρεθεί φύλλο με υπάρχων κωδικό, θα εμφανιστεί σχετικό μήνυμα σφάλματος που θα αποτρέπει τη δημιουργία.

Επειδή τα στοιχεία πελάτη είναι σχετικά λίγα, θα πρότεινα την παρακολούθηση πελατών σε πίνακα και όχι κάθε πελάτη σε νέο φύλλο. Τα πολλά φύλλα εργασίας βαρύνουν και καθυστερούν το αρχείο, το μέγεθος αρχείου θα μεγαλωνεί αρκετά και ίσως να μην μπορείς να το ανοίγεις, αν έχεις περιορισμένη μνήμα RAM. Πολύ πιθανόν στο μέλλον να χρειάζεσαι και πίνακα περιεχομένων με υπερσυνδέσεις για να βρεις κάποιον πελάτη.

man235 13-01-24 21:17

Σε ευχαριστώ για την άμεση απάντηση.
Γίνεται να φτιάχνω ένα βιβλίο εργασίας με τα στοιχεία του πελάτη πχ αριθμό 12351. Να αποθηκεύω το βιβλίο και να το κλείνω. Μόλις το ανοίξω να δείχνει αριθμό 12352. Ας έχει αποθηκευμένα τα στοιχεία του προηγουμένου πελάτη. Θα τα σβήνω. Θέλω να φτιάξω ένα χαρτί παραλαβής το οποία θα το τυπώνω και θα το παίρνει ο πελάτης Δεν θα κρατάω αποθηκευμένο κάτι άλλο. Το μόνο που με νοιάζει είναι κάθε φορά το βιβλίο να βάζει ένα αύξοντα αριθμό. Όπως κάνουμε με την σημερινή ημερομηνία στα βιβλία. Δεν ξέρω αν σε μπέρδεψα...:confused1:

ChrisGT7 13-01-24 21:45

1 Συνημμένο(α)
Δοκίμασε το συνημμένο αρχείο αν σε καλύπτει.

Ο κωδικός τώρα είναι 12345. Αν το ανοίξεις θα είναι 12346. Επεξεργάζεσαι κανονικά τα δεδομένα, τα τυπώνεις, τα αποθηκεύεις και κλείνεις το αρχείο.

Όταν το ανοίξεις, ο κωδικός θα αυξηθεί κατά μία μονάδα. Αν εκ παραδρομής δεν είναι αριθμός, θα εμφανιστεί μήνυμα λάθους και ο κωδικός δεν θα αυξηθεί.

man235 13-01-24 22:06

Τέλεια.Να είσαι καλά.Σε ευχαριστώ πολύ...
Μπορεις να μου πείς πως το εκανες, για να το προσασρμοσω στην φορμα που εχω ηδη?

ChrisGT7 13-01-24 22:26

Θα πρέπει να αλλάξεις την κατάληξη του αρχείου σου σε *.xlsm, αν δεν είναι ήδη. Μ' αυτόν τον τρόπο θα μπορούν να εκτελούνται μακροεντολές.

Κάνε δεξί κλικ πάνω στο όνομα του φύλλου εργασίας σου που είναι η φόρμα και μετά Προβολή κώδικα.

Στο παράθυρο που θα ανοίξει, αριστερά κάνε διπλό κλικ στο ThisWorkbook και επικόλλησε τον παρακάτω κώδικα:

Κώδικας:

Option Explicit

Private Sub Workbook_Open()
    With ActiveSheet
        If Not IsNumeric(.[B4]) Then
            MsgBox "Ο κωδικός πρέπει να είναι αριθμός!", vbCritical, "ΣΦΑΛΜΑ"
            .[B4].Select
            Exit Sub
        End If
       
        .[B4].NumberFormat = "@"
        .[B4] = Format(.[B4] + 1, "00000")
    End With
End Sub

Τέλος, στον παραπάνω κώδικα αντικατέστησε το B4 με το κελί του κωδικού στη φόρμα σου.

man235 13-01-24 23:05

Τέλεια.. Thanks:003:


Η ώρα είναι 20:27.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2