Come salvare e utilizzare le macro VBA in tutte le cartelle di lavoro in Excel?
In alcuni casi, potrebbe essere necessario utilizzare una macro VBA più volte in futuro. È possibile salva in qualche modo il modulo VBA in qualsiasi nuovo documento quindi sarà disponibile in tutte le cartelle di lavoro? La risposta è si. 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 ed 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 Costruttori 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. Quindi il file Converti numero in parole aggiuntive personalizzato viene inserito e attivato. Clicca il 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
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
- Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
- Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
- Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
- Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
- Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
- Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
- Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
- Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
- 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!