Μετάβαση στο κύριο περιεχόμενο

Πώς να αποθηκεύσετε και να χρησιμοποιήσετε τις μακροεντολές VBA σε όλα τα βιβλία εργασίας στο Excel;

Σε ορισμένες περιπτώσεις, μπορεί να χρειαστεί να χρησιμοποιήσετε μία μακροεντολή VBA πολλές φορές στο μέλλον. είναι δυνατόν να αποθηκεύστε με κάποιο τρόπο τη μονάδα VBA σε οποιοδήποτε νέο έγγραφο άρα θα είναι διαθέσιμο σε όλα τα βιβλία εργασίας; Η απάντηση είναι ναι. Σε αυτό το σεμινάριο, θα παρουσιάσουμε έναν εύκολο τρόπο για να πετύχετε τον στόχο σας.
doc save-use-vba-macros-in-all-books 1

Αποθηκεύστε και χρησιμοποιήστε τον κώδικα VBA σε όλα τα βιβλία εργασίας


Αποθηκεύστε και χρησιμοποιήστε τον κώδικα VBA σε όλα τα βιβλία εργασίας

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

1. Πάτα το Alt + F11 στο Excel και ανοίγει το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. κλικ Κύριο θέμα > Μονάδα μέτρησης και επικολλήστε την ακόλουθη μακροεντολή στο παράθυρο της μονάδας.

Κωδικός VBA: Μετατροπή αριθμών σε λέξεις

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. Κάντε κλικ στο κουμπί Αποθήκευση εικονίδιο στην επάνω αριστερή γωνία της κορδέλας ή κάντε κλικ Ctrl + S για να ανοίξετε το Αποθήκευση ως παράθυρο.doc save-use-vba-macros-in-all-books 2

4. Στο Αποθήκευση ως παράθυρο, εισάγετε το όνομα του βιβλίου εργασίας στο Όνομα αρχείου κουτί. Και επιλέξτε το Πρόσθετο Excel (*.xlam) επιλογή του Αποθήκευση ως τύπου Αναπτυσσόμενη λίστα.
doc save-use-vba-macros-in-all-books 3

5. Στη συνέχεια, κάντε κλικ στο Αποθήκευση κουμπί για να αποθηκεύσετε το βιβλίο εργασίας με κωδικό VBA ως Πρόσθετο Excel.
doc save-use-vba-macros-in-all-books 4

6. Επιστροφή στο Excel, κλείστε το κενό βιβλίο εργασίας που έχει αποθηκευτεί ως πρόσθετο Excel.

7. Ανοίξτε ένα νέο βιβλίο εργασίας με δεδομένα που απαιτούνται για μετατροπή. Εισαγάγετε τον τύπο = NumberstoWords (Α2) στο κελί Β2. ο # ΟΝΟΜΑ? Η τιμή σφάλματος θα επιστραφεί επειδή ο κώδικας VBA δεν έχει εφαρμοστεί ακόμα σε όλα τα βιβλία εργασίας.
doc save-use-vba-macros-in-all-books 5

8. Πηγαίνετε να το Εργολάβος κάντε κλικ στην καρτέλα Πρόσθετα Excel στο Add-ins ομάδα.
doc save-use-vba-macros-in-all-books 6

9. ο Προσθέτω εμφανίζεται το παράθυρο διαλόγου. Κάντε κλικ στο Αναζήτηση κουμπί.
doc save-use-vba-macros-in-all-books 7

10. Επιλέξτε το πρόσθετο που μόλις αποθηκεύσατε και, στη συνέχεια, κάντε κλικ στο OK κουμπί.
doc save-use-vba-macros-in-all-books 8

11. Τότε το Πρόσθετο μετατροπής αριθμού σε λέξεων που προσαρμόσατε εισάγεται και ενεργοποιείται. Κάντε κλικ στο OK κουμπί για να ολοκληρώσετε τη ρύθμιση.
doc save-use-vba-macros-in-all-books 9

12. Τώρα όταν εισάγετε τον τύπο = NumberstoWords (Α2) στο κελί Β2 και πατήστε το εισάγετε κλειδί, θα επιστραφούν οι αντίστοιχες αγγλικές λέξεις. Σύρετε τη λαβή αυτόματης συμπλήρωσης προς τα κάτω για να λάβετε όλα τα αποτελέσματα.
doc save-use-vba-macros-in-all-books 10

Notes:

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

  1. Μπορείτε να προσθέσετε κώδικα στο Γρήγορη γραμμή εργαλείων και εκτελείτε τον κωδικό κάθε φορά που κάνετε κλικ στο κουμπί κώδικα στη γραμμή εργαλείων.
    doc save-use-vba-macros-in-all-books 11
  2. Μπορείτε επίσης να πατήσετε απευθείας Alt + F11 για να ανοίξετε το πλαίσιο λειτουργίας κωδικού, βρείτε τον κωδικό και πατήστε F5 τρέχω.

Άλλες λειτουργίες (άρθρα)

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

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

Πώς να προστατέψετε / να κλειδώσετε τον κώδικα VBA στο Excel;
Όπως ακριβώς μπορείτε να χρησιμοποιήσετε τον κωδικό πρόσβασης για την προστασία των βιβλίων εργασίας και των φύλλων εργασίας, μπορείτε επίσης να ορίσετε έναν κωδικό πρόσβασης για την προστασία των μακροεντολών στο Excel.

Πώς να χρησιμοποιήσετε τη χρονική καθυστέρηση μετά την εκτέλεση μιας μακροεντολής VBA στο Excel;
Σε ορισμένες περιπτώσεις, ίσως χρειαστεί να κάνετε καθυστέρηση χρονοδιακόπτη για την ενεργοποίηση μιας μακροεντολής VBA στο Excel. Για παράδειγμα, όταν κάνετε κλικ για να εκτελέσετε μια καθορισμένη μακροεντολή, θα τεθεί σε ισχύ μετά από 10 δευτερόλεπτα. Αυτό το άρθρο θα σας δείξει μια μέθοδο για να το επιτύχετε.

 


  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών και τήρηση δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές και άθροισμα / μέσος όρος... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Αγαπημένα και γρήγορη εισαγωγή τύπων, Σειρά, Διαγράμματα και Εικόνες; Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Ομαδοποίηση συγκεντρωτικού πίνακα κατά αριθμός εβδομάδας, ημέρα εβδομάδας και πολλά άλλα ... Εμφάνιση ξεκλειδωμένων, κλειδωμένων κελιών με διαφορετικά χρώματα. Επισημάνετε τα κελιά που έχουν τύπο / όνομα...
kte καρτέλα 201905
  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you very much hundred timessss
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations