ฟังก์ชันรูปแบบ 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 เท่านั้นที่ไม่มีอยู่ในแผ่นงาน