บทความ: การใช้งาน Loop และ If-Else ภายใน Loop ในภาษา VBA แบบง่ายๆ
การเขียนโปรแกรมไม่ได้เป็นแค่การเขียนโค้ดแบบสุ่มสี่สุ่มห้า แต่เราต้องใช้โครงสร้างพื้นฐานอย่าง loop และ if-else เพื่อควบคุมการทำงานของโปรแกรมได้อย่างมีระเบียบ ในภาษา VBA หรือ Visual Basic for Applications ซึ่งเป็นภาษาที่ใช้ในการเขียนมาโครสำหรับ Microsoft Office Applications เช่น Excel หรือ Word ก็มี loop และ if-else ที่ช่วยให้เราสามารถจัดการกับข้อมูลได้หลายๆ ชุดอย่างหมดจด
Loop คือโครงสร้างที่ใช้เพื่อทำให้ชุดการทำงานหนึ่งๆ ดำเนินการซ้ำไปซ้ำมาจนกว่าจะถึงเงื่อนไขที่ได้กำหนดไว้ ในขณะที่ if-else คือโครงสร้างที่ใช้ทดสอบเงื่อนไขเพื่อให้โปรแกรมสามารถตัดสินใจในการดำเนินการต่อไป
ในโลกของการพัฒนาซอฟต์แวร์ การใช้ loop ควบคู่กับ if-else มีหลากหลาย usecase เช่น การประมวลผลชุดข้อมูลใหญ่ใน Excel การสร้างรายงานตามเงื่อนไข หรือแม้แต่การกรองข้อมูลที่ซับซ้อน
ตัวอย่างโค้ดที่ 1: การนับจำนวนเซลล์ที่มีค่าเกินกำหนดใน Excel
Sub CountGreaterThanX()
Dim count As Integer
Dim i As Integer
count = 0
For i = 1 To 10
If Cells(i, 1).Value > 10 Then
count = count + 1
End If
Next i
MsgBox "มีเซลล์ที่มีค่าเกิน 10 ทั้งหมด " & count & " เซลล์"
End Sub
ในตัวอย่างนี้ เราใช้ `For` loop เพื่อวนรอบตรวจจับค่าในเซลล์จากแถวที่ 1 ถึงแถวที่ 10 ในคอลัมน์แรก แล้วใช้ `If` statement เพื่อตรวจสอบว่าค่าในแต่ละเซลล์นั้นเกินค่าที่กำหนดหรือไม่ ถ้าใช่ เราจะเพิ่ม count ขึ้น
ตัวอย่างโค้ดที่ 2: การคัดกรองข้อมูลที่ตรงเงื่อนไขและลบออก
Sub FilterAndDelete()
Dim i As Integer
For i = 100 To 1 Step -1
If Cells(i, 1).Value = "" Or Cells(i, 1).Value < 0 Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
ในตัวอย่างนี้ เราเริ่ม loop จากข้างล่างขึ้นบน (จากแถวที่ 100 ถึง 1) เนื่องจากการลบข้อมูลอาจส่งผลกระทบต่อการวนรอบ โดยใช้ `If` statement ในการตรวจสอบเงื่อนไข และ `EntireRow.Delete` เพื่อลบตัวแถวทั้งหมดถ้าตรงตามเงื่อนไขที่เรากำหนดไว้
ตัวอย่างโค้ดที่ 3: การทำงานกับข้อมูลที่มีหลายเงื่อนไขใน Excel
Sub AdvancedFilter()
Dim score As Integer
Dim grade As String
For i = 1 To 10
score = Cells(i, 2).Value
If score >= 80 Then
grade = "A"
ElseIf score >= 70 Then
grade = "B"
ElseIf score >= 60 Then
grade = "C"
Else
grade = "F"
End If
Cells(i, 3).Value = grade
Next i
End Sub
ในโค้ดนี้ เราใช้ loop `For` เพื่อวนผ่านเซลล์แต่ละเซลล์ในคอลัมน์ที่ 2 (คะแนน) และใช้โครงสร้าง `If...ElseIf...Else` ภายใน loop เพื่อจัดประเภทคะแนนและกำหนดเกรดให้ ซึ่งจะถูกเขียนลงในคอลัมน์ที่ 3
การใช้งาน loop และ if-else ในภาษา VBA นั้นมีความสำคัญอย่างยิ่งในการเขียนมาโครสำหรับทำงานที่ซ้ำซากหรือซับซ้อน เพื่อช่วยให้การประมวลผลข้อมูลเป็นไปได้อย่างรวดเร็วและแม่นยำ
สำหรับบุคคลที่สนใจที่จะเรียนรู้การใช้งาน VBA เพื่อเขียนโปรแกรมมาโครที่มีประสิทธิภาพ โรงเรียนสอนโปรแกรมมิ่ง EPT เป็นสถานที่ที่สามารถช่วยคุณเข้าถึงประตูสู่โลกของการโปรแกรมที่กว้างขวาง คุณจะได้เรียนรู้ตั้งแต่พื้นฐานไปจนถึงการใช้ VBA ในการแก้ปัญหาทางธุรกิจจริง อย่ารอช้า ลงทะเบียนกับ EPT และเริ่มเส้นทางการเป็นผู้เชี่ยวชาญการเขียนโปรแกรมในวันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: vba loop if-else microsoft_office excel programming code_example real-world_use_case data_processing software_development macro_programming business_applications
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM