Cách tạo âm thanh thông báo khi nhập giá trị ô tính trong Excel

Một số người thích được nghe thấy âm thanh thông báo sau mỗi một tác vụ. Chẳng hạn, có thể bạn sẽ nghe thấy tiếng “tinh” phát ra mỗi khi giá trị trong ô tính Excel vượt qua ngưỡng nào đó. Tuy rằng chức năng này không được Excel hỗ trợ mặc định nhưng bạn hoàn toàn có thể sử dụng một hàm chức năng đặc biệt để tạo ra âm thanh thông báo, dựa trên thư viện Windows API.

Hàm Alarm

Hãy sao chép đoạn mã dưới đây vào mô-đun lệnh của VBA

'Windows API function declaration
Private Declare Function PlaySound Lib "winmm.dll" _
  Alias "PlaySoundA" (ByVal lpszName As String, _
  ByVal hModule As Long, ByVal dwFlags As Long) As Long

Function Alarm(Cell, Condition)
    Dim WAVFile As String
    Const SND_ASYNC = &H1
    Const SND_FILENAME = &H20000
    On Error GoTo ErrHandler
    If Evaluate(Cell.Value & Condition) Then
        WAVFile = ThisWorkbook.Path & "\sound.wav" 'Edit this statement
        Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
        Alarm = True
        Exit Function
    End If
ErrHandler:
    Alarm = False
End Function

Lưu ý: Bạn cần 1 tệp âm thanh có đuôi là .WAV và phải được lưu trong cùng đường dẫn với tệp bảng tính Excel để hàm Alarm có thể hoạt động được. Trong đoạn mã trên bạn có thể tùy chỉnh tên tệp nhạc và đường dẫn sao cho chính xác. Nếu không tìm được tệp âm thanh đó thì hệ thống sẽ tự động sử dụng âm thanh mặc định để tạo thông báo.

Cách sử dụng hàm Alarm trong thanh công thức Excel

Hàm Alarm sẽ giám sát hoạt động của ô tính dựa trên các điều kiện cụ thể. Nếu như nội dung ô tính đáp ứng được một điều kiện nào đó theo yêu cầu, hàm sẽ tự động chơi nhạc để phát thông báo, đồng thời trả về kết quả là TRUE. Nếu như điều kiện trên không được đáp ứng thì âm thanh thông báo sẽ không được bật, đồng thời kết quả trả về sẽ là FALSE. Tóm lại, có 2 tiêu chí cần phải thỏa mãn:

  • Cell: Giá trị tham chiếu của 1 ô tính cụ thể (tức là ô tính mà bạn đang muốn kiểm soát). Thường thì các ô này sẽ có công thức bên trong (tuy đây không phải là điều bắt buộc)
  • Condition: Một đoạn văn bản dạng string mô tả về 1 điều kiện cụ thể nào đó.

Dưới đây là ví dụ minh họa cách sử dụng hàm này:

=Alarm(A1,">=1000")

Câu lệnh trên có nghĩa là âm thanh thông báo sẽ phát ra nếu như giá trị của ô tính A1 lớn hơn hoặc bằng 1000

=Alarm(C12,"<0")

Câu lệnh này có nghĩa là âm thanh thông báo sẽ phát ra nếu như giá trị của ô tính C12 nhỏ hơn 0

Lưu ý nhỏ:

  • Hàm sẽ tự khởi chạy lại mỗi khi nội dung ô tính được sử dụng làm tham chiếu bị thay đổi. Khi đó âm thanh thông báo phát ra có thể gây phiền phức cho người dùng.
  • Tốt nhất bạn chỉ nên áp dụng hàm này cho từng ô tính một. Nếu cùng 1 lúc sử dụng hàm này cho nhiều ô tính khác nhau, bạn sẽ không thể biết được chính xác ô tính nào phát ra âm thanh thông báo.