Come salvare e utilizzare le macro VBA in tutte le cartelle di lavoro in Excel?
In alcuni casi, potresti dover usare una macro VBA più volte in futuro. È possibile salvare un modulo VBA in modo che sia disponibile in tutti i nuovi documenti e cartelle di lavoro? La risposta è sì. In questo tutorial, introdurremo un modo semplice per raggiungere il tuo obiettivo.
Salva e usa il codice VBA in tutte le cartelle di lavoro
Ad esempio, si desidera utilizzare il codice VBA per convertire i numeri in parole inglesi e salva il modulo VBA in tutte le cartelle di lavoro nel caso in cui desideri utilizzare il codice VBA in futuro. Si prega di fare come segue.
1. premi il Alt + F11 chiavi in Excel e apre il file Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Moduli e incollare la seguente macro nella finestra del modulo.
Codice VBA: converte i numeri in parole
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. Fare clic sul Risparmi nell'angolo in alto a sinistra della barra multifunzione o fare clic su Ctrl + S per aprire il Salva con nome finestra.
4. Nel Salva con nome finestra, immettere il nome della cartella di lavoro nel file Nome del file scatola. E seleziona il Componente aggiuntivo di Excel (*.xlam) opzione nel Salva come tipo menu `A tendina.
5. Quindi fare clic su Risparmi pulsante per salvare la cartella di lavoro con codice VBA come file Componente aggiuntivo di Excel.
6. Torna al Excel, chiudere la cartella di lavoro vuota che è stata salvata come componente aggiuntivo di Excel.
7. Aprire una nuova cartella di lavoro con i dati da convertire. Inserisci la formula = NumberstoWords (A2) nella cella B2. Il # NOME? il valore di errore verrà restituito perché il codice VBA non è stato ancora applicato in tutte le cartelle di lavoro.
8. Vai alla Sviluppatore scheda, fare clic Componenti aggiuntivi di Excel nel Add-ins gruppo.
9. il Aggiungere si apre la finestra di dialogo. Clicca il Scopri la nostra gamma di prodotti pulsante.
10. Scegli il componente aggiuntivo che hai appena salvato, quindi fai clic su OK pulsante.
11. L'usanza Converti numero in parole aggiuntive è ora caricato e abilitato. Fai clic su OK pulsante per terminare l'impostazione.
12. Ora quando inserisci la formula = NumberstoWords (A2) nella cella B2 e premere il tasto entrare chiave, verranno restituite le parole inglesi corrispondenti. Trascina la maniglia di riempimento automatico verso il basso per ottenere tutti i risultati.
Note:
Se è necessario eseguire il codice manualmente, non c'è modo di trovarlo dai passaggi precedenti. Per favore, non preoccuparti. Ci sono due strade per eseguire il codice.
- È possibile aggiungere codice a Barra degli strumenti rapida ed eseguire il codice ogni volta che si fa clic sul pulsante del codice sulla barra degli strumenti.
- Puoi anche premere direttamente Alt + F11 per aprire la casella di operazione del codice, trovare il codice e premere F5 correre.
Un codice VBA per elencare tutti i componenti aggiuntivi in Excel
In Excel, puoi aggiungere o inserire alcuni componenti aggiuntivi per gestire meglio i dati. Come sappiamo, possiamo andare alla finestra Opzioni per visualizzare tutti i componenti aggiuntivi, ma esiste un modo per elencare tutti i componenti aggiuntivi in un foglio? Ora, in questo tutorial, fornisce un codice VBA per elencare tutti i componenti aggiuntivi in Excel.
Come eseguire la macro VBA quando si apre o si chiude la cartella di lavoro?
In questo articolo, ti dirò come eseguire il codice VBA durante l'apertura o la chiusura della cartella di lavoro ogni volta.
Come proteggere / bloccare il codice VBA in Excel?
Proprio come puoi usare la password per proteggere cartelle di lavoro e fogli di lavoro, puoi anche impostare una password per proteggere le macro in Excel.
Come utilizzare il ritardo dopo aver eseguito una macro VBA in Excel?
In alcuni casi, potrebbe essere necessario impostare un ritardo del timer per l'attivazione di una macro VBA in Excel. Ad esempio, quando si fa clic per eseguire una macro specificata, questa avrà effetto dopo 10 secondi. Questo articolo ti mostrerà un metodo per ottenerlo.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!