Làm thế nào để phát âm thanh nếu một điều kiện được đáp ứng trong Excel?
Trong Excel, chúng ta có thể áp dụng Định dạng có Điều kiện để định dạng và đánh dấu các ô để đáp ứng điều kiện khi bạn cần, nhưng đôi khi, bạn có thể muốn phát âm thanh nếu một điều kiện được đáp ứng. Ví dụ: nếu giá trị ô trong A1 lớn hơn 300, tôi muốn phát âm thanh. Excel không hỗ trợ tính năng này, bài viết này, tôi sẽ giới thiệu một số mã VBA để giải quyết công việc này.
Phát tiếng bíp hệ thống mặc định dựa trên giá trị ô với mã VBA
Phát âm thanh tùy chỉnh dựa trên giá trị ô với mã VBA
Phát âm thanh nếu giá trị ô thay đổi trong một cột cụ thể với mã VBA
Phát tiếng bíp hệ thống mặc định dựa trên giá trị ô với mã VBA
Đây là mã hữu ích để bạn phát âm thanh bíp hệ thống mặc định khi một điều kiện cụ thể được đáp ứng, vui lòng thực hiện như sau:
1. Giữ phím tắt ALT + F11 chìa khóa, sau đó nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Phát tiếng bíp hệ thống mặc định dựa trên giá trị ô:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Sau đó, lưu và đóng cửa sổ mã này, quay lại trang tính và nhập công thức này: = IF (A1> 300, BeepMe (), "") vào một ô trống bên cạnh ô chứa giá trị bạn muốn phát âm thanh dựa trên đó, sau đó nhấn đăng ký hạng mục thi , không có gì sẽ được hiển thị trong ô công thức, hãy xem ảnh chụp màn hình:
4. Và bây giờ, nếu giá trị đã nhập trong ô A1 lớn hơn 300, tiếng bíp hệ thống mặc định sẽ được phát.
Phát âm thanh tùy chỉnh dựa trên giá trị ô với mã VBA
Nếu bạn muốn phát một số âm thanh khác ngoài tiếng bíp hệ thống mặc định, thì đây cũng là mã VBA có thể giúp bạn.
1. Giữ ALT + F11 chìa khóa, sau đó nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Phát một âm thanh cụ thể dựa trên một giá trị ô:
#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 SoundMe() As String
'Updateby Extendoffice 20161223
Call PlaySound("c:\windows\media\Speech On.wav", _
0, SND_ASYNC Or SND_FILENAME)
SoundMe = ""
End Function
3. Sau đó, lưu và đóng cửa sổ mã này, quay lại trang tính và nhập công thức này: = IF (A1> 300, SoundMe (), "")vào một ô trống bên cạnh ô chứa giá trị bạn muốn phát âm thanh dựa trên đó, sau đó nhấn đăng ký hạng mục thi , không có gì sẽ được hiển thị trong ô công thức, hãy xem ảnh chụp màn hình:
4. Từ bây giờ, nếu giá trị lớn hơn 300 được nhập vào ô A1, một âm thanh cụ thể sẽ được phát cùng một lúc.
Chú ý: Trong đoạn mã trên, bạn có thể thay đổi tệp wav âm thanh theo nhu cầu của mình từ c: \ windows \ media \ đường dẫn tập tin. Xem ảnh chụp màn hình:
Phát âm thanh nếu giá trị ô thay đổi trong một cột cụ thể với mã VBA
Nếu bạn muốn phát âm thanh nếu giá trị ô thay đổi trong một cột cụ thể, bạn có thể áp dụng mã VBA sau.
1. Bấm chuột phải vào tab trang tính mà bạn muốn phát âm thanh khi giá trị thay đổi trong một cột, sau đó chọn Mã Chế độ xem từ menu ngữ cảnh và trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã sau vào Mô-đun trống:
Mã VBA: Phát âm thanh nếu giá trị ô thay đổi trong một cột:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20161223
Dim xCell As Range
On Error Resume Next
If Target.Columns.Count = 1 Then
If Intersect(Target, Columns(3)) Is Nothing Then
Exit Sub
Else
For Each xCell In Columns(3)
On Error Resume Next
If (xCell.Value = Target.Value) And (xCell.Value <> "") Then
Beep
Exit For
End If
Next
End If
End If
End Sub
Chú thích: Trong đoạn mã trên, số 3 trong kịch bản Các cột (3) là số cột mà bạn muốn phát âm thanh khi giá trị thay đổi trong cột này.
2. Và sau đó lưu và đóng cửa sổ mã này, bây giờ, nếu giá trị ô thay đổi trong cột thứ ba, một tiếng bíp hệ thống mặc định sẽ được phát.
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!