Note: The other languages of the website are Google-translated. Back to English
English English

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

ในบางกรณี คุณอาจต้องใช้มาโคร VBA หลายครั้งในอนาคต เป็นไปได้ไหมที่จะ บันทึกโมดูล VBA ลงในเอกสารใหม่ใด ๆ จึงจะมีอยู่ในสมุดงานทั้งหมด ? คำตอบคือใช่ ในบทช่วยสอนนี้ เราจะแนะนำวิธีง่ายๆ ในการบรรลุเป้าหมายของคุณ
doc save-use-vba-macros-in-all-workbooks 1

บันทึกและใช้รหัส 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 เพื่อเปิด บันทึกเป็น หน้าต่างdoc save-use-vba-macros-in-all-workbooks 2

4 ใน บันทึกเป็น หน้าต่าง ป้อนชื่อสมุดงานใน ชื่อไฟล์ กล่อง. แล้วเลือก โปรแกรมเสริม Excel (*.xlam) ตัวเลือกใน บันทึกเป็นชนิด รายการแบบหล่นลง
doc save-use-vba-macros-in-all-workbooks 3

5 จากนั้นคลิกปุ่ม ลด ปุ่มเพื่อบันทึกเวิร์กบุ๊กด้วยรหัส VBA เป็น an โปรแกรมเสริม Excel.
doc save-use-vba-macros-in-all-workbooks 4

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

7. เปิดสมุดงานใหม่พร้อมข้อมูลที่ต้องแปลง ใส่สูตร = NumberstoWords (A2) ในเซลล์ B2 ดิ # NAME? ค่าความผิดพลาดจะถูกส่งคืนเนื่องจากยังไม่ได้ใช้รหัส VBA ในสมุดงานทั้งหมด
doc save-use-vba-macros-in-all-workbooks 5

8 ไปที่ ผู้พัฒนา คลิกแท็บ Excel Add-in ใน Add-ins กลุ่ม
doc save-use-vba-macros-in-all-workbooks 6

9 เพิ่มใน กล่องโต้ตอบจะปรากฏขึ้น คลิก หมวดหมู่สินค้า ปุ่ม
doc save-use-vba-macros-in-all-workbooks 7

10. เลือก Add-in ที่คุณเพิ่งบันทึก จากนั้นคลิก OK ปุ่ม
doc save-use-vba-macros-in-all-workbooks 8

11. จากนั้น แปลงตัวเลขเป็นคำ Add-in ที่คุณกำหนดเองจะถูกแทรกและเปิดใช้งาน คลิก OK ปุ่มเพื่อสิ้นสุดการตั้งค่า
doc save-use-vba-macros-in-all-workbooks 9

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

หมายเหตุ:

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

  1. คุณสามารถเพิ่มรหัสไปที่ แถบเครื่องมือด่วน และเรียกใช้รหัสทุกครั้งที่คลิกปุ่มรหัสบนแถบเครื่องมือ
    doc save-use-vba-macros-in-all-workbooks 11
  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 สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ และการเก็บรักษาข้อมูล แยกเนื้อหาของเซลล์ รวมแถวที่ซ้ำกันและผลรวม / ค่าเฉลี่ย... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แทรกสูตรที่ชื่นชอบและรวดเร็ว, ช่วงแผนภูมิและรูปภาพ; เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • การจัดกลุ่มตาราง Pivot ตาม จำนวนสัปดาห์วันในสัปดาห์และอื่น ๆ ... แสดงปลดล็อกเซลล์ที่ถูกล็อก ด้วยสีที่ต่างกัน เน้นเซลล์ที่มีสูตร / ชื่อ...
kte แท็บ 201905
  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab

 

 

จัดเรียงความคิดเห็นโดย
ความคิดเห็น (0)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ