Microsoft Excel มีเครื่องมือในตัวหลายอย่างที่ช่วยให้ผู้ใช้ทำการจัดรูปแบบเงื่อนไข (Conditional Formatting) แบบอัตโนมัติ เช่น การเปลี่ยนสีเซลล์ เมื่อเงื่อนไขที่กำหนดเป็นจริง
แต่นักใช้งานหลายคนไม่รู้ว่า Excel สามารถเล่นเสียงได้ผ่าน Visual Basic for Applications (VBA) บทช่วยสอน Excel นี้จะอธิบายวิธีสร้างสัญญาณเตือนใน Excel เมื่อเงื่อนไขที่ตั้งไว้เป็นจริง
มี 2 ขั้นตอนหลักในการทำให้ Excel เล่นเสียงตามทริกเกอร์ที่กำหนด: ขั้นแรก ต้องเพิ่มโค้ดที่ทำให้ Excel เล่นเสียงได้ ขั้นที่สอง ต้องบอก Excel ว่ากิจกรรมหรือค่าใดจะเป็นตัวกระตุ้นให้เล่นเสียง
ทำได้โดยการสร้างกฎใหม่ด้วยแมกโคร VBA ของ Excel ซึ่งดูซับซ้อนแต่จริงๆ แค่คัดลอกและวางโค้ดด้านล่าง แล้วปรับพารามิเตอร์พื้นฐานบ้าง
วิธีสร้างสัญญาณเตือนใน Excel
- เปิดสเปรดชีต Excel ของคุณ
- กด Alt + F11 เพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications
- คลิก Insert > Module
- ใส่โค้ดต่อไปนี้:
Function MakeABeep() As String
Beep
MakeABeep = ""
End Function
- คลิก Save
- ในเมนูดรอปดาวน์ Save as Type ให้เลือก Excel Macro-Enabled Workbook
- ในเซลล์ใดก็ได้ ให้พิมพ์
=MakeABeep()แล้วกด Enter หากได้ยินเสียงระบบ แสดงว่าโค้ดทำงานแล้ว พร้อมไปขั้นตอนต่อไป
วิธีตั้งค่าให้สัญญาณเตือนทำงานตามเงื่อนไข
ต่อไป ต้องเพิ่มการจัดรูปแบบเงื่อนไข (Conditional Formatting) ให้กับเซลล์ที่ต้องการให้เล่นเสียงเมื่อมีเหตุการณ์เฉพาะ ขึ้นอยู่กับทริกเกอร์ที่ต้องการ อาจต้องใช้สูตร Excel ต่างๆ เพื่อให้ทำงานได้ตรงตามที่วางแผนไว้
ตัวอย่างพื้นฐาน: ทำให้เซลล์ A1 เล่นเสียงเมื่อค่ามากกว่า 100
- เลือกเซลล์ว่างในเวิร์กชีต
- พิมพ์
=IF(A1>100, MakeABeep(),"")แล้วกด Enter
เมื่อค่าในเซลล์ A1 ถึง 101 เสียงระบบจะเล่นขึ้น
วิธีทำให้ Excel เล่นเสียงที่กำหนดเอง (Custom Sound)
สามารถทำให้ Excel เล่นเสียงหลายแบบได้ ไม่ได้จำกัดแค่เสียงระบบเพียงอย่างเดียว วิธีนี้ช่วยตั้งสัญญาณเตือนหลายแบบสำหรับเงื่อนไขที่ต่างกัน
- เปิดไฟล์ Excel
- กด Alt + F11 เปิด Microsoft VBA
- กด Insert > Module
- ในกล่องโต้ตอบ ให้พิมพ์โค้ดต่อไปนี้:
#If Win64 Then
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
#Else
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
#End If
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Function AlarmSound() As String
Call PlaySound("C:\Users\User\Downloads\sound.wav", _
0, SND_ASYNC Or SND_FILENAME)
AlarmSound = ""
End Function
- แทนที่
C:\Users\User\Downloads\sound.wavด้วยตำแหน่งไฟล์เสียงที่ต้องการ ใช้ File Explorer คลิกขวาที่แถบที่อยู่ แล้วเลือก Copy address as text
- กด Ctrl + S เพื่อบันทึก
- ในเมนู Save as Type เลือก Excel Macro-Enabled Workbook
- ในเซลล์ว่าง ใส่สูตรเงื่อนไข เช่น
=IF(A1>100, AlarmSound(),"")จะเล่นเสียงเมื่อ A1 มากกว่า 100
หมายเหตุ: ในโค้ดตัวอย่างใช้ชื่อ AlarmSound แทน MakeABeep สามารถตั้งชื่อฟังก์ชันได้ตามต้องการ เช่น Alarm1, Alarm2 สำหรับเงื่อนไขต่างๆ
สามารถสร้างสัญญาณเตือนได้แบบไหนบ้าง?
Excel เป็นเครื่องมืออันทรงพลัง มีสูตรมากมายสำหรับจัดรูปแบบข้อมูล ใช้ได้ผ่านแท็บ Home > Conditional Formatting
ตัวอย่างเงื่อนไขที่ตั้งค่าให้เล่นเสียงได้:
- ค่าเท่ากับ มากกว่า น้อยกว่า หรืออยู่ระหว่างค่าที่กำหนด
- เซลล์ซ้ำ (Duplicate)
- วันที่เฉพาะ (วันครบกำหนด วันหมดอายุ)
- ค่าอยู่ในเปอร์เซ็นไทล์เฉพาะ (เช่น 10% บนสุด หรือสูงกว่าค่าเฉลี่ย)
- เซลล์มีสีเฉพาะ - ใช้ได้เมื่อมี Conditional Formatting อยู่แล้ว
การจัดการข้อมูลง่ายขึ้นด้วย Excel
Microsoft Excel เป็นเครื่องมือตรวจสอบและวิเคราะห์ข้อมูลอันทรงพลังที่สุดในตลาด มานานแล้ว ไม่ว่าจะต้องการแสดงข้อมูลให้เข้าใจง่าย หรือจัดรูปแบบเซลล์แจ้งเตือนเมื่อเงื่อนไขเป็นจริง Excel พร้อมบริการ