/ / แปลงสกุลเงินใน Excel VBA

แปลงสกุลเงินใน Excel VBA

ด้านล่างเราจะดูที่โปรแกรมมา Excel VBA ซึ่งสร้าง Userform ที่ แปลง จำนวนใด ๆ จากที่หนึ่ง เงินตรา ไปที่อื่น

Userform ที่เราจะสร้างขึ้นมีลักษณะดังนี้:

แปลงสกุลเงินใน Excel VBA

ในการสร้าง Userform นี้ให้ทำตามขั้นตอนต่อไปนี้

1. เปิดตัวแก้ไข Visual Basic ถ้าโครงการ Explorer ไม่สามารถมองเห็นคลิกมุมมองโครงการ Explorer.

2. คลิกแทรก, Userform ถ้ากล่องเครื่องมือไม่ปรากฏขึ้นโดยอัตโนมัติให้คลิกมุมมองกล่องเครื่องมือ ควรตั้งค่าหน้าจอดังนี้

การตั้งค่าหน้าจอ Userform ใน Excel VBA

3 เพิ่มช่องป้ายชื่อกล่องรายการ (ด้านซ้ายมือที่สองทางด้านขวา) กล่องข้อความ (แรกทางด้านซ้ายมือที่สองทางด้านขวา) และปุ่มคำสั่ง เมื่อผลการค้นหาเสร็จสมบูรณ์ผลลัพธ์ควรสอดคล้องกับรูปแบบ Userform ที่แสดงไว้ก่อนหน้านี้ ตัวอย่างเช่นสร้างตัวควบคุมกล่องรายการโดยคลิกที่กล่องรายการจากกล่องเครื่องมือ จากนั้นคุณสามารถลากกล่องรายการใน Userform ได้

4 คุณสามารถเปลี่ยนชื่อและคำอธิบายภาพของตัวควบคุมได้ ชื่อที่ใช้ในโค้ด Excel VBA คำอธิบายภาพคือคำอธิบายภาพที่ปรากฏบนหน้าจอของคุณ การเปลี่ยนชื่อของตัวควบคุมเป็นวิธีที่ดี แต่ไม่จำเป็นเนื่องจากเรามีตัวควบคุมเพียงเล็กน้อยในตัวอย่างนี้ ในการเปลี่ยนคำอธิบายภาพของ Userform ปุ่มคำสั่งและป้ายชื่อให้คลิก View, Properties Window และคลิกที่แต่ละตัวควบคุม

5. เมื่อต้องการแสดง Userform ให้วางคำสั่งลงในเวิร์กชีทของคุณและเพิ่มโค้ดโค้ดต่อไปนี้:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

ตอนนี้เรากำลังสร้าง Sub UserForm_Initialize เมื่อคุณใช้การแสดงวิธีการสำหรับ Userform ย่อยนี้จะถูกดำเนินการโดยอัตโนมัติ

เปิดตัว Visual Basic Editor

7. ใน Project Explorer คลิกขวาที่ UserForm1 จากนั้นคลิก View Code

8. เลือก Userform จากรายการแบบหล่นลงด้านซ้าย เลือกเริ่มต้นจากรายการแบบเลื่อนลงด้านขวา

9. เพิ่มบรรทัดรหัสต่อไปนี้:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

With ListBox2
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

End Sub

คำอธิบาย: ขั้นแรกให้กรอกกล่องรายการสองรายการ ถัดไปสกุลเงินดอลลาร์สหรัฐฯถูกตั้งค่าเป็นค่าเริ่มต้นในช่องรายการแรกและสกุลเงินยูโรถูกตั้งค่าเป็นค่าเริ่มต้นในช่องรายการที่สอง ในที่สุดค่า 1 จะถูกป้อนลงในช่องข้อความแรกและป้อนค่า 0.722152 ในช่องข้อความที่สอง

ขณะนี้เราได้สร้างส่วนแรกของ Userform แล้ว แม้ว่าจะดูเรียบร้อยแล้ว แต่จะไม่มีอะไรเกิดขึ้นเมื่อคลิกปุ่ม Go

10. ใน Project Explorer ให้คลิกสองครั้งที่ UserForm1

11. ดับเบิลคลิกที่ปุ่ม Go

12. เพิ่มบรรทัดรหัสต่อไปนี้:

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452

rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161

rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1

For i = 0 To 2
    For j = 0 To 2
        If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
    Next j
Next i

End Sub

คำอธิบาย: อันดับแรกเราประกาศอาร์เรย์ อาร์เรย์มีสองมิติ ประกอบด้วย 3 แถวและ 3 คอลัมน์ ต่อไปเราจะเริ่มต้นแต่ละองค์ประกอบของอาร์เรย์ ตัวอย่างเช่นอัตรา (1,0) คืออัตราสกุลเงินจากสกุลเงินดอลลาร์สหรัฐถึงยูโร ต่อไปเราจะเริ่มต้นลูปคู่ Excel VBA จะแปลงจำนวนที่ป้อนในกล่องข้อความแรกและแสดงผลลัพธ์ในกล่องข้อความที่สองขึ้นอยู่กับสกุลเงินที่เลือกไว้ในกล่องรายการ

ตัวอย่าง: ถ้า i = 2 และ j = 1 และเราใส่ค่า 2 ในช่องข้อความแรก Excel VBA จะใส่ค่า 2 * rate (2,1) = 2 * 1.583255 = 3.16651 ในช่องข้อความที่สอง

13. ทดสอบ Userform

ผล:

ผลการแปลงสกุลเงิน

อ่านเพิ่มเติมได้ที่: