Δημιουργήστε νέα βιβλία εργασίας χρησιμοποιώντας το VBA στο Microsoft Excel

Anonim

Θα μπορούσαν να υπάρχουν περιπτώσεις όπου πρέπει να δημιουργήσετε ένα νέο βιβλίο εργασίας με συγκεκριμένο αριθμό φύλλων μέσω κώδικα vba ή μακροεντολής. Εδώ είναι μια απλή μακροεντολή που σας επιτρέπει να δημιουργήσετε ένα νέο βιβλίο εργασίας> ανοίξτε και, στη συνέχεια, αποθηκεύστε με το πολύ 255 νέα φύλλα εργασίας. Σε αυτό το δείγμα μακροεντολής, θα δημιουργήσουμε ένα νέο βιβλίο εργασίας με 10 φύλλα εργασίας.

Επιλογή ρητή

Sub create_bookbook ()
Dim wb Ως βιβλίο εργασίας
Ρύθμιση wb = NewWorkbook (10)
Τέλος υπο

Λειτουργία NewWorkbook (wsCount As Integer) As Workbook
Dim OriginalWorksheetCount As Long
Set NewWorkbook = Τίποτα
Εάν wsCount 255 Τότε Έξοδος από τη λειτουργία
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Ορισμός βιβλίου NewWork = Workbooks.Addd
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Λειτουργία Τέλους

Επεξήγηση κώδικα:

Αρχικά έχουμε μια διαδικασία που ονομάζεται "create_bookbook”. Σε αυτή τη διαδικασία, έχουμε μια μεταβλητή wb ως βιβλίο εργασίας και καλούμε τη συνάρτηση NewWorkbook μέσω αυτής της μεταβλητής. Έτσι, η νέα συνάρτηση καλείται και ο wscount ορίζεται στο 10, που είναι ο αριθμός των φύλλων εργασίας στο νέο βιβλίο εργασίας.

Στη συνέχεια, πηγαίνουμε στην κληθείσα συνάρτηση που είναι Λειτουργία NewWorkbook (wsCount as Integer) ως βιβλίο εργασίας. Η τιμή για το wsCount που είναι 10 μεταφέρεται από το δευτερεύον αρχείο create_workbook.

Set NewWorkbook = Τίποτα

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

Εάν wsCount 255, τότε Έξοδος από τη λειτουργία

Στη συνέχεια, πρέπει να ελέγξουμε εάν η τιμή που μεταβιβάζεται από το sub είναι μικρότερη από 1 ή μεγαλύτερη από 255. Εάν η απάντηση είναι ναι σε οποιονδήποτε από αυτούς τους ελέγχους, τότε βγείτε από τη συνάρτηση.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Υπάρχει μια παράμετρος στη σελίδα επιλογών excel όπου ορίζεται ο αριθμός των φύλλων που θα συμπεριληφθούν σε ένα νέο βιβλίο εργασίας. Μεταφέρουμε αυτήν την τιμή στη μεταβλητή OriginalWorksheetCount.Η μεταβλητή θα κρατήσει τον προεπιλεγμένο αριθμό φύλλων που ήταν ήδη προκαθορισμένος στις επιλογές Excel.

Application.SheetsInNewWorkbook = wsCount

Στη συνέχεια, εκχωρούμε την τιμή του wsCount που μεταφέρεται από το sub στην παράμετρο των επιλογών excel για τον αριθμό των φύλλων που θα συμπεριληφθούν σε ένα νέο βιβλίο εργασίας. Έτσι, τώρα αυτή η παράμετρος θα αλλάξει από την παλιά τιμή σε 10. Η παλιά τιμή θα μπορούσε να είναι 1 ή 3 ή οποιοσδήποτε άλλος αριθμός που έχει οριστεί από τον χρήστη.

Ορισμός βιβλίου NewWork = Workbooks.Addd

Δημιουργούμε ένα νέο βιβλίο εργασίας το οποίο εκχωρείται στο NewWorkbook. Αυτό το νέο βιβλίο εργασίας δημιουργείται με τον αριθμό των φύλλων που καθορίζονται στο wsCount. Θα δείτε ένα νέο βιβλίο εργασίας με 10 φύλλα με τίτλο Sheet1 to Sheet10. Δείτε την παρακάτω εικόνα για το νέο αρχείο Book3 που δημιουργήθηκε.

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

Επίσης, ο αριθμός 10 θα εμφανιστεί στην εφαρμογή. SheetInNewWorkbook παράμετρος στις Επιλογές Excel, όπως στην παρακάτω εικόνα -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

Το TheApplication.SheetsInNewWorkbook επιστρέφει στον αρχικό του αριθμό που υπήρχε πριν από τον ορισμό του wsCount. Αν ο αρχικός αριθμός ήταν 1 ή 3, αυτή η παράμετρος θα επιστρέψει τώρα σε αυτόν τον αριθμό.

Αν σας άρεσαν τα ιστολόγια μας, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε, να συμπληρώσουμε ή να καινοτομήσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στο ιστοσελίδα email