รูปแบบ VBA | วิธีใช้ฟังก์ชันรูปแบบ VBA (ตัวอย่าง)

ฟังก์ชันรูปแบบ Excel VBA

ฟังก์ชันรูปแบบใน VBAใช้เพื่อจัดรูปแบบค่าที่กำหนดในรูปแบบที่ต้องการฟังก์ชันนี้สามารถใช้สำหรับการจัดรูปแบบวันที่หรือตัวเลขหรือค่าตรีโกณมิติใด ๆ ฟังก์ชันนี้มีอาร์กิวเมนต์บังคับโดยทั่วไปสองอาร์กิวเมนต์หนึ่งคืออินพุตที่นำมาในรูปแบบของ สตริงและอาร์กิวเมนต์ที่สองคือประเภทของรูปแบบที่เราต้องการใช้เช่นหากเราใช้รูปแบบ (.99, "เปอร์เซ็นต์") สิ่งนี้จะให้ผลลัพธ์เป็น 99%

ใน VBA เราจำเป็นต้องใช้ฟังก์ชันที่เรียกว่า“ FORMAT” เพื่อนำไปใช้กับรูปแบบกับเซลล์ การจัดรูปแบบ Excel เป็นหนึ่งในแนวคิดสำคัญที่ต้องเชี่ยวชาญ เทคนิคการจัดรูปแบบทั่วไปที่เราทุกคนใช้ในงานประจำวันคือ "รูปแบบวันที่รูปแบบเวลาการจัดรูปแบบตัวเลขและรหัสการจัดรูปแบบที่สำคัญอื่น ๆ " ในแผ่นงาน excel ปกติเราเพียงแค่กดตัวเลือกเซลล์รูปแบบ excel และดำเนินการจัดรูปแบบโดยใช้รหัสการจัดรูปแบบที่เหมาะสม อย่างไรก็ตามใน VBA สิ่งนี้ไม่ได้ตรงไปตรงมาเหมือนเทคนิคแผ่นงานของเรา

ไวยากรณ์

  • นิพจน์:นี่ไม่ใช่อะไรนอกจากค่าที่เราต้องการจัดรูปแบบ ในทางเทคนิค VAB เรียกว่า Expression
  • [รูปแบบ]:รูปแบบที่คุณต้องการใช้กับนิพจน์ที่คุณเลือกคืออะไร? เรามีการจัดรูปแบบสองประเภทที่นี่หนึ่งคือรูปแบบที่ผู้ใช้กำหนดและรูปแบบที่สองคือรูปแบบในตัว

    ที่นี่เรามีรูปแบบวันที่ VBA รูปแบบตัวเลขและรูปแบบข้อความ

    รูปแบบวันที่ VBA มีวันที่แบบสั้นวันที่แบบยาววันที่ขนาดกลางและวันที่ทั่วไป

    รูปแบบตัวเลขมีสกุลเงินมาตรฐานเปอร์เซ็นต์วิทยาศาสตร์ใช่หรือไม่ใช่จริงหรือเท็จและเปิดหรือปิด

  • [วันแรกของสัปดาห์]:วันแรกของสัปดาห์ของคุณคืออะไร? เราสามารถเลือกวันใดก็ได้จากรายการ ด้านล่างนี้คือรายการวันและรหัสที่เหมาะสม

  • [สัปดาห์แรกของปี]:สัปดาห์แรกของปีคืออะไร? นี่เป็นการระบุสัปดาห์ที่ควรใช้เป็นสัปดาห์แรกของปี

วิธีใช้?

คุณสามารถดาวน์โหลดเทมเพลตรูปแบบ VBA ได้ที่นี่ - เทมเพลตรูปแบบ VBA

โอเคลองใช้ฟังก์ชันนี้เพื่อทำความเข้าใจการทำงานของฟังก์ชัน FORMAT สมมติว่าคุณมีหมายเลข 8072.56489 และคุณต้องการใช้การจัดรูปแบบตัวเลขกับหมายเลขนั้น ทำตามขั้นตอนด้านล่างเพื่อใช้การจัดรูปแบบตัวเลข

ขั้นตอนที่ 1:เริ่มแมโคร excel และกำหนดตัวแปรเป็นชนิดข้อมูล " สตริง "

รหัส:

 Sub Worksheet_Function_Example1 () Dim K เป็น String End Sub 

ขั้นตอนที่ 2:กำหนดค่าให้ k เป็นตัวเลขของเราเช่น8072.56489

รหัส:

 Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 End Sub 

ขั้นตอนที่ 3:แสดงค่า“ k ” ในกล่องข้อความ VBA

รหัส:

 Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 MsgBox K End Sub 

ขั้นตอนที่ 4:หากคุณเรียกใช้มาโครนี้เราจะได้ผลลัพธ์ด้านล่าง

ผลลัพธ์ก็คือเรากำหนดค่าให้กับตัวแปร“ k” แต่เราจำเป็นต้องใช้การจัดรูปแบบกับตัวเลขนี้เพื่อให้สวยงาม

ขั้นตอนที่ 5:แทนที่จะกำหนดค่าให้กับ“ k ” โดยตรงให้ใช้ฟังก์ชัน FORMAT

รหัส:

 Sub Worksheet_Function_Example1 () Dim K As String K = Format (MsgBox K End Sub 

ขั้นตอนที่ 6:ตอนนี้สำหรับการแสดงออกกำหนดจำนวน8072.56489

รหัส:

 Sub Worksheet_Function_Example1 () Dim K As String K = Format (8072.56489, MsgBox K End Sub 

ขั้นตอนที่ 7:ในตัวเลือกการจัดรูปแบบเราสามารถใช้รูปแบบในตัวหรือเราสามารถใช้รหัสการจัดรูปแบบของเราเอง ตอนนี้ฉันจะใช้รูปแบบการจัดรูปแบบในตัวเป็น " มาตรฐาน "

รหัส:

 Sub Worksheet_Function_Example1 () Dim K As String K = Format (8072.56489, "Standard") MsgBox K End Sub 

ขั้นตอนที่ 8:ตอนนี้เรียกใช้รหัสนี้และดูผลลัพธ์ของกล่องข้อความ

ตกลงเรามีเครื่องหมายจุลภาค (,) เป็นตัวคั่นหลักพันและทศนิยมจะถูกปัดเศษเป็นสองหลักเท่านั้น

เช่นนี้เราสามารถใช้รูปแบบการจัดรูปแบบในตัวอื่น ๆ เพื่อใช้การจัดรูปแบบได้ ด้านล่างนี้คือรหัสบางส่วนที่ฉันใช้

# 1 - รูปแบบสกุลเงิน

รหัส:

 Sub Worksheet_Function_Example2 () Dim K As String K = Format (8072.56489, "Currency") MsgBox K End Sub 

ผลลัพธ์:

# 2 - รูปแบบคงที่

รหัส:

 Sub Worksheet_Function_Example3 () Dim K As String K = Format (8072.56489, "Fixed") MsgBox K End Sub 

ผลลัพธ์:

# 3 - รูปแบบเปอร์เซ็นต์

รหัส:

 Sub Worksheet_Function_Example4 () Dim K As String K = Format (8072.56489, "Percent") MsgBox K End Sub 

ผลลัพธ์:

# 4 - รูปแบบที่ผู้ใช้กำหนด

ตกลงตอนนี้เราจะเห็นรูปแบบที่ผู้ใช้กำหนดเอง

รหัส:

 Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#. ##") MsgBox K End Sub 

ผลลัพธ์:

รหัส:

 Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#, ##. ##") MsgBox K End Sub 

ผลลัพธ์:

# 5 - รูปแบบวันที่

เราได้เห็นตัวเลขที่สำคัญบางประการของเทคนิคการจัดรูปแบบ ตอนนี้เราจะต้องใช้ฟังก์ชัน FORMAT เพื่อจัดรูปแบบวันที่ใน VBA

ฉันได้เขียนโค้ดเพื่อแสดงผลลัพธ์ของวันที่ผ่านตัวแปร

รหัส:

 Sub Worksheet_Function_Example6 () Dim K As String K = 13 - 3-2019 MsgBox K End Sub 

เมื่อฉันเรียกใช้รหัสนี้ฉันจะไม่ได้รับวันที่ที่ถูกต้อง แต่ผลลัพธ์ก็น่าสงสาร

เพื่อให้ได้วันที่ที่ถูกต้องเราจำเป็นต้องกำหนดรูปแบบวันที่ให้ สิ่งแรกที่เราต้องทำคือใส่วันที่ในเครื่องหมายคำพูดคู่และใช้รูปแบบวันที่

รหัส:

 Sub Worksheet_Function_Example6 () Dim K As String K = Format ("10 - 3 - 2019", "Long Date") MsgBox K End Sub 

หากรันโค้ดนี้ตอนนี้ฉันจะได้รับวันที่ที่ยาวนาน

"วันที่ยาว" เป็นรูปแบบในตัวเช่นเดียวกันคุณสามารถใช้ตัวเลือก "วันที่สั้น" และ "วันที่กลาง" ได้

สิ่งที่ต้องจำ

  • ค่าที่ส่งกลับโดยฟังก์ชัน FORMAT คือสตริง
  • นอกจากนี้เรายังสามารถใช้รหัสการจัดรูปแบบวันที่เวลาและตัวเลขของเราเองได้เช่นเดียวกับที่เราใช้ในการจัดรูปแบบแผ่นงาน
  • FORMAT เป็นฟังก์ชัน VBA และมีเฉพาะใน VBA เท่านั้นที่ไม่มีอยู่ในแผ่นงาน