Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Τιμολόγιο - Αποθήκευση και εκκαθάριση δεδομένων (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2318-timologio-apothikeysi-kai-ekkatharisi-dedomenon.html)

Spirosgr 01-02-13 13:03

Καλημέρα
Ο κώδικας που έχεις για την αποθήκευση
Sub SaveInvWithNewName()
λίγο πριν κλείσει ενεργοποιεί τον κώδικα
Sub NextInvoice()
για να καθαρίσει τα δεδομένα
Ή εκτυπώνεις και μετά αποθηκεύεις (άρα και μετά καθαρίζεις)
ή αποδεσμεύεις την εκκαθάριση από τον κώδικα αποθήκευσης
και τον χρησιμοποιείς μόνο του
Καλή συνέχεια!
ΥΓ Προτιμητέα η 2η περίπτωση

Kostas K 01-02-13 14:12

Σε ευχαριστώ.

Θα ακολουθήσω τη συμβουλή σου για το 2η λύση.

Kostas K 01-02-13 17:31

Σπύρο θα μου επιτρέψεις να σου κάνω ακόμα μια ερώτηση αν και καταλαβαίνω ότι σε έχω ζαλίσει.

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

Όταν αποθηκεύω τα αρχεία σε xlsx και κατόπιν προσπαθώ να τυπώσω οι ενδείξεις δεν εμφανίζονται. Αυτό σημαίνει ότι πρέπει να τυπώνω πριν σώσω το αρχείο και από τη μορφή xlsm ή κάνω πάλι κανένα "θαύμα"??

Spirosgr 01-02-13 18:20

Καλησπέρα
Όταν αποθηκεύεις σε .xlsx οι ιδιότητες του .xlsm δεν υπάρχουν πλέον και άρα δεν μπορεί να εκτελεστεί κώδικας από εκεί.
Η αποθήκευση προφανώς γίνετε για να υπάρχει ένα αντίγραφο του τιμολογίου για ώρα ανάγκης (έχασε ο πελάτης το πρωτότυπο και θέλει ένα αντίγραφο πχ) ή για επεξεργασία αρχείου (στατιστικά ή αμφισβητεί κάποιο τιμολόγιο ο πελάτης και του δίνουμε αντίγραφο)
Κανονικά η διαδικασία πρέπει να είναι :
1 εισάγω στο τιμολόγιο δεδομένα στο .xlsm
2 εκτυπώνω 3 αντίγραφα από το .xlsm
3 αποθηκεύω στο αρχείο μου το αντίγραφο . xlsx και
4 καθαρίζω δεδομένα στο .xlsm
Αν για οποιοδήποτε λόγο θέλω να ανακαλέσω το .xlsx και να εκτυπώσω τότε ή μου αρκεί να έχω 1 γενικό αντίγραφο ή εξ αρχής αποθηκεύω .xlsm με όλες τις ιδιότητες και τον κώδικα
(προσωπικά δεν το θεωρώ σκόπιμο)

Kostas K 01-02-13 18:23

Σε ευχαριστώ πολύ για τις απαντήσεις σου.

Καλό βράδυ

beck 13-10-19 19:16

Παράθεση:

Αρχική Δημοσίευση από Spirosgr (Μήνυμα 13685)
Καλησπέρα
Κώστα είναι η ονομασία που θα δώσουμε σε όλη την περιοχή που θέλουμε να εκτυπώνετε
(ουσιαστικά όλο το τιμολόγιο) και αυτό το όνομα χρησιμοποιούμε και στον κώδικα
Μπορείς να το αλλάξεις με κάτι άλλο αρκεί να το αλλάξεις και στον κώδικα
Εννοείτε ότι και εδώ ισχύει ο κανόνας τα ονόματα χωρίς κενά
Καλή συνέχεια!

και που θα ξερει το συστημα οτι το printareadoc ειναι το A1:A51 ?????

Spirosgr 13-10-19 21:17

Αν διάβασες όλο το θέμα και μελέτησες το αρχείο,
θα δεις που το λέει...
Και δεν είναι a1:a51, αλλά a1:i51

beck 17-10-19 20:27

Αν υποτεθεί ότι η περιοχή εκτύπωσης είναι
Α1:Ι51
Ονομάζουμε PrintAreaDoc
εδω ??

μονο εδω το βλεπω και δεν μπορω να καταλαβω που ειναι το Α1:Ι151 στον κωδικα που εχεις στο VBA

Sorry αν ειναι εμφανες, αλλα δεν το καταλαβαινω !!

Spirosgr 17-10-19 21:15

Καλά το βρήκες εκεί, αλλά εκεί είναι μια απλή περιγραφή...
Στον κώδικα είναι η ονομασία PrintAreaDoc, και μόνο αυτό φτάνει..
Κώδικας:

Sheet1.PageSetup.PrintArea = "PrintAreaDoc"
Και κάτι ακόμα, που είδα μιας και το αρχείο είναι αρκετά παλίο.
Θέλει προσαρμογές όπως πχ εδώ:
Κώδικας:

NewFN = "C:\Documents and Settings\...
που παίζει στα παλιά Win XP...

beck 18-10-19 17:02

θα το δοκιμασω ,
ευχαριστω


Η ώρα είναι 15:36.

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


Search Engine Optimization by vBSEO 3.3.2