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/1645-aytomati-arithmisi-timologion.html)

ΤΑΣΟΣ 13-02-12 22:02

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

gr8styl 14-02-12 00:52

1 Συνημμένο(α)
Φίλε Τάσο,
Αν κατάλαβα καλά θέλεις κάθε φορά που ανοίγεις το Βιβλίο να αυξάνει ο αριθμός σε κάποιο κελί κατά 1.

Άνοιξε τον VBE (Alt + F11)
1) ΔΙπλό κλικ στο Αυτό_το_βιβλίο_εργασίας (This_Workbook) στο αριστερό μέρος της οθόνης
2) Επέλεξε Workbook αντι General
3) Επέλεξε Open στο διπλανό όπως δείχνει η συνημμένη εικόνα
4) κάνε επικόλληση του παρακάτω κώδικα

Πριν το βήμα 4 βεβαιώσου ότι στο πάνω μέρος του VBE γράφει "Αυτό_το_βιβλίο_εργασίας (code)"
Κώδικας:

Private Sub Workbook_Open()
ThisWorkbook.Sheets(1).Range("B2").Value = ThisWorkbook.Sheets(1).Range("B2").Value + 1
End Sub

ThisWorkbook.Sheets(1).Range("B2") σημαίνει το κελί Β2 στο πρώτο φύλλο του βιβλίου.

Πες μας αν έγινε
Θανάσης

ΤΑΣΟΣ 14-02-12 04:58

Αγαπητέ φίλε Θανάση σε ευχαριστώ πάρα πολύ όντως δούλεψε , κάνοντας όμως κατάχρηση της καλοσύνης σου μήπως έχεις καμιά ιδέα έτσι ώστε την αύξηση στον αριθμό να τον κάνει και με την καταχώρηση- αποθήκευση (και όχι μόνο με την είσοδο στο αρχείο μετά από έξοδο)
φιλικά Τάσος

ΤΑΣΟΣ 14-02-12 05:28

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

Tasos 14-02-12 06:38

Καλημέρα!

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

Θα πρότεινα λοιπόν:

Κώδικας:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Sheet1.Range("A1").Value = Sheet1.Range("A1").Value + 1
    ThisWorkbook.Save
End Sub

Όπου Sheet1 = Το κωδκό όνομα του φύλλου (εμφανίζεται στον VBE) που θα περιέχει τον αύξοντα αριθμό.

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

Μπορείς να δεις το μήνυμα αυτό: http://www.ms-office.gr/forum/ta-nea...asfaleias.html που μπορεί να χρησιμεύσει και για Excel.


Υπάρχει επίσης σχετικό παράδειγμα στα χρήσιμα παραδείγματα στην Ενότητα Excel:
http://www.ms-office.gr/forum/excel-...astatikoi.html

Φιλικά


Τάσος

ΤΑΣΟΣ 14-02-12 19:10

φίλε Τάσο ευχαριστώ για τη βοήθεια σου αλλά ακόμα και στη δική σου πρόταση συνεχίζει το πρόβλημα που εμφανίστηκε δηλαδή: σε δύο πεδία που έχω αναπτυσσόμενη λίστα όταν βγώ (κλείσω) το αρχείο και ξανά μπω τότε μου έχει απενεργοποιήσει τη σύνδεση στα δύο κελιά που έχω τις λίστες ( σημείωση τα δεδομένα για τις δύο λίστες βρίσκονται σε άλλο φύλο DATA) δεν μπορώ να καταλάβω γιατί συμβαίνει αυτό
ευχαριστώ για το χρόνο σας
φιλικά Τάσος

Tasos 14-02-12 19:29

Αγαπητέ μου δεν είναι κατανοητό το ζητούμενο σου.

Ανέβασε ένα συνημμένο και περίγραψε/δείξε μας μέσα στο συνημμένο τι ακριβώς θέλεις που δεν γίνεται.

Φιλικά

Τάσος

ΤΑΣΟΣ 14-02-12 19:51

1 Συνημμένο(α)
Ελπίζω φίλε Τάσο να γίνει κατανοητό με το παράδειγμα
φιλικά Τάσος

gr8styl 15-02-12 19:36

1 Συνημμένο(α)
Φίλε Τάσο,
θα πρέπει να ξαναορίσεις τα ονόματα και τις επικυρώσεις, γιατί απότι δείχνει έχουν καταστραφεί.
AYTOKINHTO =dtk!$B$11
COUNTRY =dtk!#ΑΝΑΦ!
PARALIPTIS =dtk!$C$9
PELATES =dtk!#ΑΝΑΦ!
Print_Area =dtk!$A$1:$H$38
PROIONTA =dtk!#ΑΝΑΦ!
TRUCKS =dtk!#ΑΝΑΦ!
ΠΑΡΑΛΗΠΤΗΣ =dtk!$C$9
ΠΕΡΙΕΧΟΜΕΝΟ =dtk!$E$18
ΠΙΝΑΚΑΣ2 =DATA!#ΑΝΑΦ!
ΠΡΟΙΟΝΤΑ =#ΑΝΑΦ!$B:$B


Εγώ θα απέφευγα τον ορισμό πινάκων και λιστών και θα χρησιμοποιούσα δυναμικά ονόματα.
Δες το συνημμένο.

Επίσης το συμβάν Workbook_AfterSave() δεν δουλεύει σωστά για εκδόσεις πριν το 2010
ίσως τα συμβάντα Workbook_BeforeSave() ή Workbook_BeforePrint() που σου πρότεινε και ο Τάσος να είναι προτιμότερο. στο συνημμένο έχω αφήσει το Workbook_AfterSave() όπως το είχες.

Θανάσης

ΤΑΣΟΣ 17-02-12 21:33

Κύριοι-φίλοι σας ευχαριστώ πολύ για τη βοήθεια σας!!!!


Η ώρα είναι 07:39.

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


Search Engine Optimization by vBSEO 3.3.2