ไปยังเนื้อหาหลัก

วิธีการบันทึกและใช้มาโคร VBA ของคุณในสมุดงานทั้งหมดใน Excel?

ผู้เขียน: Zhoumandy แก้ไขล่าสุด: 2024-12-02

ในบางกรณี คุณอาจจำเป็นต้องใช้แมโคร VBA หลายครั้งในอนาคต เป็นไปได้หรือไม่ที่จะบันทึกโมดูล VBA เพื่อให้พร้อมใช้งานในเอกสารและเวิร์กบุ๊กใหม่ทั้งหมด คำตอบคือได้ ในบทช่วยสอนนี้ เราจะแนะนำวิธีง่ายๆ ในการบรรลุเป้าหมายของคุณ

ภาพหน้าจอแสดงกล่องโต้ตอบ Add-in ใน Excel

บันทึกและใช้รหัส VBA ในสมุดงานทั้งหมด


บันทึกและใช้รหัส VBA ในสมุดงานทั้งหมด

ตัวอย่างเช่น คุณต้องการใช้โค้ด VBA to แปลงตัวเลขเป็นคำภาษาอังกฤษ และ บันทึกโมดูล 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 เพื่อเปิด บันทึกเป็น หน้าต่าง
ภาพหน้าจอแสดงตัวเลือกบันทึกในหน้าต่าง VBA

4 ใน บันทึกเป็น หน้าต่าง ป้อนชื่อสมุดงานใน ชื่อไฟล์ กล่อง. แล้วเลือก โปรแกรมเสริม Excel (*.xlam) ตัวเลือกใน บันทึกเป็นชนิด รายการแบบหล่นลง
ภาพหน้าจอแสดงกล่องโต้ตอบบันทึกเป็นโดยเลือก Excel Add-in (*.xlam) เป็นประเภทการบันทึก

5 จากนั้นคลิกปุ่ม ลด ปุ่มเพื่อบันทึกเวิร์กบุ๊กด้วยรหัส VBA เป็น an โปรแกรมเสริม Excel.
ภาพหน้าจอแสดงสมุดงานที่บันทึกเป็น Add-in ของ Excel

6. กลับไปที่ Excelให้ปิดเวิร์กบุ๊กเปล่าที่บันทึกเป็น Add-in ของ Excel

7. เปิดสมุดงานใหม่พร้อมข้อมูลที่ต้องแปลง ใส่สูตร = NumberstoWords (A2) ในเซลล์ B2 ดิ # NAME? ค่าความผิดพลาดจะถูกส่งคืนเนื่องจากยังไม่ได้ใช้รหัส VBA ในสมุดงานทั้งหมด
ภาพหน้าจอของข้อผิดพลาด #NAME? ก่อนที่จะใช้แมโคร VBA ที่บันทึกไว้

8 ไปที่ ผู้พัฒนา คลิกแท็บ Excel Add-in ใน Add-ins กลุ่ม
ภาพหน้าจอแสดงตัวเลือก Add-in ภายใต้แท็บนักพัฒนาใน Excel

9. เพิ่มใน กล่องโต้ตอบจะปรากฏขึ้น คลิก หมวดหมู่สินค้า ปุ่ม
ภาพหน้าจอของกล่องโต้ตอบ Add-in ใน Excel

10. เลือก Add-in ที่คุณเพิ่งบันทึก จากนั้นคลิก OK ปุ่ม
ภาพหน้าจอแสดงการเลือกไฟล์ Add-in ที่กำหนดเองใน Excel

11. ธรรมเนียมปฏิบัติ แปลงตัวเลขเป็นคำ Add-in ตอนนี้โหลดและเปิดใช้งานแล้ว คลิก OK ปุ่มเพื่อสิ้นสุดการตั้งค่า
ภาพหน้าจอแสดง Add-in ที่กำหนดเองในกล่องโต้ตอบ Add-in ใน Excel

12. ตอนนี้เมื่อคุณป้อนสูตร = NumberstoWords (A2) ในเซลล์ B2 แล้วกด เข้าสู่ คีย์คำภาษาอังกฤษที่สอดคล้องกันจะถูกส่งกลับ ลากที่จับป้อนอัตโนมัติลงเพื่อให้ได้ผลลัพธ์ทั้งหมด
ภาพหน้าจอแสดงผลลัพธ์สุดท้ายของตัวเลขที่แปลงเป็นคำ

หมายเหตุ : :

หากคุณต้องการเรียกใช้รหัส ด้วยมือไม่มีทางที่จะค้นหาได้จากขั้นตอนข้างต้น โปรดอย่ากังวล มี สองทาง เพื่อเรียกใช้รหัส

  1. คุณสามารถเพิ่มรหัสไปที่ แถบเครื่องมือด่วน และเรียกใช้รหัสทุกครั้งที่คลิกปุ่มรหัสบนแถบเครื่องมือ
    ภาพหน้าจอที่แสดงวิธีการเพิ่มแมโคร VBA ลงในแถบเครื่องมือด่วน
  2. คุณยังสามารถกด .โดยตรง Alt + F11 เพื่อเปิดกล่องปฏิบัติการรหัส ค้นหารหัส แล้วกด F5 วิ่ง.

การดำเนินงานอื่น ๆ (บทความ)

รหัส VBA เพื่อแสดงรายการ Add In ทั้งหมดใน Excel
ใน Excel คุณสามารถเพิ่มหรือแทรกข้อมูลเพิ่มเติมเพื่อให้จัดการกับข้อมูลได้ดีขึ้น ดังที่เราทราบเราสามารถไปที่หน้าต่างตัวเลือกเพื่อดูข้อมูลเพิ่มเติมทั้งหมด แต่มีวิธีใดในการแสดงรายการเพิ่มเติมทั้งหมดในแผ่นงานหรือไม่? ตอนนี้ในบทช่วยสอนนี้มีรหัส VBA สำหรับแสดงรายการ Add in ทั้งหมดใน Excel

วิธีเรียกใช้ VBA Macro เมื่อเปิดหรือปิดสมุดงาน
ในบทความนี้ ฉันจะบอกวิธีเรียกใช้โค้ด VBA ขณะเปิดหรือปิดเวิร์กบุ๊กทุกครั้ง

วิธีการป้องกัน / ล็อครหัส VBA ใน Excel?
เช่นเดียวกับที่คุณสามารถใช้รหัสผ่านเพื่อป้องกันเวิร์กบุ๊กและเวิร์กชีต คุณยังสามารถตั้งรหัสผ่านสำหรับปกป้องมาโครใน Excel ได้อีกด้วย

วิธีใช้เวลาล่าช้าหลังจากเรียกใช้ VBA Macro ใน Excel?
ในบางกรณีคุณอาจต้องตั้งเวลาหน่วงเวลาเพื่อเรียกใช้แมโคร VBA ใน Excel ตัวอย่างเช่นเมื่อคลิกเพื่อเรียกใช้มาโครที่ระบุจะมีผลหลังจาก 10 วินาที บทความนี้จะแสดงวิธีการเพื่อให้บรรลุ

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!