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/1775-aytomati-dimioyrgia-kai-onomasia-fillon.html)

Lefteris 07-04-12 18:45

Τάσο μου, ανοίγω το Excel, που περιέχει μόνο το φύλλο Τemplate, άδειο. Σωστά;

Προσπαθώντας, να ανοίξω τό άλλο αρχείο, παίρνω ένα μήνυμα, με τίτλο.

Windows Script Host.

Σφάλμα: Δεν ήταν δυνατήν η εύρεση του C/Documents and Settings/...Local....../Main.xls.

Eλέγξτε την ορθογραφία του......μπλά-μπλά-μπλά...........

Έσωσα το Main.xls.και σε άλλο φάκελλο, αλλά τα ίδια.

Τι κάνω λάθος;

Tasos 07-04-12 19:23

Λευτέρη,

το *.vbs πρέπει να βρίσκεται στον ίδιο φάκελο με το Main.xls για να λειτουργήσει.

Επίσης μέσα στο βιβλίο Main.xls υπάρχει ήδη κώδικας VBA που κάνει την ίδια δουλειά.

Για να εκτελέσεις αυτόν τον κώδικα VBA, άνοιξε το βιβλίο Main.xls, πάτησε ALT+F8 και στο διάλογο ου θα εμφανιστεί πάτησε το κουμπί "Εκτέλεση" για να εκτελέσεις τη μακροεντολή "CreateWorkSheets".

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

Σε αντίθεση με την Excel, το *.vbs δεν επηρεάζεται από τη ρύθμιση ασφάλειας των μακροεντολών επειδή χρησιμοποιεί το αντικείμενο αυτοματισμού της Excel.

Δοκίμασε και τα λέμε.

Τάσος

Lefteris 08-04-12 01:29

Καλησπέρα-Καλημέρα.

Παράθεση:

...το *.vbs πρέπει να βρίσκεται στον ίδιο φάκελο με το Main.xls για να λειτουργήσει.....
Ναι Τάσο, αλλά γιά να τα βάλω στον ίδιο φάκελλο, πρέπει να τα ανοίξω πρώτα και μετά να τα αποθηκεύσω στον φάκελλο που θέλω. Σωστά, ή κάτι μου ξεφεύγει;

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

Spirosgr 08-04-12 09:07

1 Συνημμένο(α)
Καλημέρα στην παρέα
Όπως είπα στην αρχή τώρα μαθαίνω τα "τερτίπια" της VBA
Μία λέξη έπρεπε να αλλάξει στον κώδικα για να απαλλαγούμε από όλους αυτούς τους βασανιστικούς υπολογισμούς στο φύλλο ( αντί Value Έγινε Text)
Έτσι έχουμε την τελική έκδοση απλή και χρηστική:icon_hihi:

kapetang 08-04-12 10:34

Καλημέρα στην παρέα

Σπύρο, σε συγχαίρω για τα πετυχημένα βήματα στην VBA.

Αν θέλουμε τα προστιθέμενα φύλλα να είναι ίδια με το «ΚΕΝΤΡΙΚΟ» θα μπορούσε να χρησιμοποιηθεί παρόμοιος κώδικας, όπως:

Κώδικας:

Sub sheetcreator2()
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In Selection
        Worksheets("ΚΕΝΤΡΙΚΟ").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = cell.Text
    Next cell
    Application.ScreenUpdating = True
End Sub

Φιλικά/Γιώργος

Lefteris 08-04-12 10:37

Καλημέρα σε όλους.

Φιλε Σπύρο,
Παράθεση:

...Έτσι έχουμε την τελική έκδοση απλή και χρηστική
Ναί. Απλή,χρηστική και κατανοητή!

Μόνο μία ερώτηση γιά να μην έχω κενά!

Στο φύλλο Κεντρικό, τα στοιχεία Data στα κελιά και οι επικεφαλίδες με Column, Είναι για να γεμίσουμε απλά τα κελια και μόνον. Έτσι;

Σε ευχαριστώ και πάλι, πολύ για τον κόπο και τον χρόνο σου.

Lefteris 08-04-12 11:20

Αυτή είναι η απάντησή μου, στον Φίλο Σπύρο, στο Post#8 και είναι σωστή.

.
Παράθεση:

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

..Βλέποντας την απάντηση του Γιώργου, που ουσιαστικά είναι ίδια με αυτή του Τάσου στο post#2,

Παράθεση:

...Με την ίδια μέθοδο (με κάποιες μικροαλλαγές στον κώδικα) μπορείς να ανοίξεις το βιβλίο που περιέχει το μορφοποιημένο φύλλο μιας ημέρας και να το αντιγράψεις όσες φορές χρειαστεί.
..είναι κάτι που είναι πολύ ενδιαφέρον, κάτι που είχα πεί και στο Post μου #6.

Παράθεση:

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

Άρα, ΔΕν χρειάζομαι δημιουργία κενών φύλλων, αλλά Μετανομασία των υπάρχοντων, ανάλογα με τον μήνα και το έτος που επιλέγω στο κεντρικό φύλλο(Π.χ, στο Α1)
Στην περίπτωσή μας λοιπόν, έχουμε το ΚΕΝΤΡΙΚΟΝ, που είναι αμετάβλητο και ένα φύλλο που περιέχει πολλά δεδομένα με συναρτήσεις, μορφοποιήσεις, και πολλά δεδομένα.και είναι ΙΔΙΟ γιά όλλες τις μέρες του μήνα.

Αυτό το φύλλο, λοιπόν είναι εκείνο που πρέπει να αντιγραφεί όσες φορές του ορίσουμε απο το Φύλλο, ΕΠΙΛΟΓΕΣ και τα φύλλα που δημιουργούνται να παίρνουν την ονομασία των ημερών, που έχουμε επιλέξει.

Μήπως εδώ που φτάσαμε,ελπίζω, χωρίς να κάνω κατάχρηση του χρόνου και του κόπου σας, μπορούμε να κάνουμε και αυτό;;

Spirosgr 08-04-12 15:23

Πως ονομάζεις το φύλλο που θέλεις να αντιγράφετε πολλές φορές
γράψε το όνομά του ακριβώς

Lefteris 08-04-12 15:30

Οκ!...Το πήρα το μήνυμα, Σπύρο μου.

Κουράστηκες....Δικαιολογημέ να...,νομίζω.

Ας το αφήσουμε καλύτερα....Σε ευχαριστώ πολύ. Βοήθησες πολύ.

Το θέμα, τελείωσε.

Καλό υπόλοιπο Κυριακής, σε όλους.

Spirosgr 08-04-12 15:35

Λευτέρη
το ακριβώς που έγραψα δεν υπονοεί κάτι
απλά πρέπει να είναι ακριβώς το όνομα του για να μην κάνει λάθος ο κώδικας
ακόμα κι ένας τόννος παίζει ρόλο ή ένα κόμμα κλπ
έλα πες δεν με κουράζεις...


Η ώρα είναι 14:26.

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


Search Engine Optimization by vBSEO 3.3.2