
如何在 Excel 的所有工作簿中保存和使用 VBA 宏?
在某些情況下,您將來可能需要多次使用一個 VBA 宏。 是否有可能 以某種方式將 VBA 模塊保存到任何新文檔中
所以它將在所有工作簿中可用? 答案是肯定的。 在本教程中,我們將介紹一種簡單的方法來實現(xiàn)您的目標(biāo)。
在所有工作簿中保存和使用 VBA 代碼
在所有工作簿中保存和使用 VBA 代碼例如,您想使用 VBA 代碼 將數(shù)字轉(zhuǎn)換為英文單詞 和 將 VBA 模塊保存在所有工作簿中 以防您將來想使用 VBA 代碼。 請執(zhí)行以下操作。
1。 按 Alt + F11鍵 鍵,然后打開 Microsoft Visual Basic應(yīng)用程序 窗口。
2。 點擊 插頁 > 模塊并將以下宏粘貼到模塊窗口中。
VBA 代碼:將數(shù)字轉(zhuǎn)換為單詞
Function NumberstoWords(ByVal MyNumber)Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")xNumber = Trim(Str(MyNumber))xDP = InStr(xNumber, ".")xPoint = ""xStrNumber = ""If xDP > 0 ThenxPoint = " 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 xFNumxNumber = Trim(Left(xNumber, xDP - 1))End IfxCnt = 0xResult = ""xT = ""xLen = 0xLen = Int(Len(Str(xNumber)) / 3)If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1Do While xNumber <> ""If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber, 3), False)ElseIf xCnt = 0 ThenxT = GetHundredsDigits(Right(xNumber, 3), True)ElsexT = GetHundredsDigits(Right(xNumber, 3), False)End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) > 3 ThenxNumber = Left(xNumber, Len(xNumber) - 3)ElsexNumber = ""End IfxCnt = xCnt + 1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""On Error Resume NextxBB = TrueIf Val(xStrNum) = 0 Then Exit FunctionxStrNum = Right("000" & xStrNum, 3)xStr = Mid(xStrNum, 1, 1)If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "ElseIf xB ThenxRStr = "and "xBB = FalseElsexRStr = " "xBB = FalseEnd IfEnd IfIf Mid(xStrNum, 2, 2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_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 = TrueOn Error Resume NextIf Val(Left(xTDgt, 1)) = 1 ThenxI = Val(Right(xTDgt, 1))If xB Then xStr = "and "xStr = xStr & xArr_1(xI)ElsexI = Val(Left(xTDgt, 1))If Val(Left(xTDgt, 1)) > 1 ThenIf xB Then xStr = "and "xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "End IfEnd IfIf Right(xTDgt, 1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt, 1))End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")xStr = ""On Error Resume NextxStr = xArr_1(Val(xDgt))GetDigits = xStrEnd FunctionCopy3。 點擊 保存 功能區(qū)左上角的圖標(biāo)或單擊 按Ctrl + S 打開 另存為 窗口。
4.在 另存為 窗口中輸入工作簿名稱 文件名 盒子。 并選擇 Excel 加載項 (*.xlam) 在選項 保存類型
下拉列表。
5.然后點擊 保存 按鈕將帶有 VBA 代碼的工作簿保存為 Excel 插件
.
6.返回 Excel,關(guān)閉已保存為 Excel 插件的空工作簿。
7. 打開一個包含需要轉(zhuǎn)換的數(shù)據(jù)的新工作簿。 輸入公式 = NumberstoWords(A2) 在單元格 B2 中。 這 #NAME?
將返回錯誤值,因為尚未在所有工作簿中應(yīng)用 VBA 代碼。
8。 去 開發(fā)商 標(biāo)簽,點擊 Excel加載項 ,在 加載項
組。
9. 加入 彈出對話框。 點擊 瀏覽
按鈕。
10. 選擇剛才保存的插件,然后點擊 OK
按鈕。
11.然后 將數(shù)字轉(zhuǎn)換為單詞加載項 您自定義的被插入并打開。 點擊 OK
按鈕完成設(shè)置。
12.現(xiàn)在當(dāng)你輸入公式時 = NumberstoWords(A2) 在單元格 B2 中,然后按 輸入
鍵,會返回對應(yīng)的英文單詞。 向下拖動自動填充手柄以獲得所有結(jié)果。
:
如果需要運行代碼 手動, 沒有辦法從上面的步驟中找到它。 請不要擔(dān)心。 有 兩種方式 運行代碼。
您可以將代碼添加到快速工具欄并在每次單擊工具欄上的代碼按鈕時運行代碼。
也可以直接按 Alt + F11鍵 打開對碼操作框,找到對碼,按 F5 跑步。其他操作(文章)用于在 Excel 中列出所有加載項的 VBA 代碼在Excel中,您可以添加或插入一些加載項以更好地處理數(shù)據(jù)。 眾所周知,我們可以轉(zhuǎn)到“選項”窗口查看所有加載項,但是有什么方法可以在工作表中列出所有加載項? 現(xiàn)在,在本教程中,它提供了VBA代碼,用于列出Excel中的所有插件。
打開或關(guān)閉工作簿時如何運行 VBA 宏?在本文中,我將告訴您如何在每次打開或關(guān)閉工作簿時運行 VBA 代碼。
如何在 Excel 中保護/鎖定 VBA 代碼?就像您可以使用密碼來保護工作簿和工作表一樣,您也可以設(shè)置密碼來保護 Excel 中的宏。
在 Excel 中運行 VBA 宏后如何使用時間延遲?在某些情況下,您可能需要延遲計時器才能觸發(fā)Excel中的VBA宏。 例如,單擊以運行指定的宏時,它將在10秒后生效。 本文將向您展示一種實現(xiàn)它的方法。
更多文章

