dポイントプレゼントキャンペーン実施中!

エクセルのVBAに詳しい方教えてください。
以下のようにA列に上の値が違う時にBEEP音が5回鳴る関数を教えて頂きました。
現在worksheetに記述しています。
このBEEP音を違う音にしたいのですが可能でしょうか?現在単調な音なのでもっと注意喚起できる音
にしたいのですが。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Row > 1 Then
If .Value <> .Offset(-1) Then
For i = 1 To 5 '回数
Application.Wait Now + TimeValue("00:00:01")
Beep
Next
End If
End If
End With
End Sub

A 回答 (3件)

こんばんは!



http://www.start-macro.com/55/w/s077.html

↑のようなサイトがありましたので参考にさせてもらいました。

まず↓のコードを標準モジュールにしてください。

Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

次に↓のコードをシートモジュールにし、A列にデータを色々入れてみてください。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Row > 1 Then
If .Value <> .Offset(-1) Then
Call BeepAPI(350, 500) '//←350Hzを0.5秒//
Call BeepAPI(800, 500)
Call BeepAPI(390, 500)
Call BeepAPI(300, 500)
Call BeepAPI(600, 500)
End If
End If
End With
End Sub

※ 「ET」の音に近づけようとしましたが、
なかなかうまくいきませんでした。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。早速やってみましたが64ビット云々のエラーが出てしまいます。私の環境が64ビットエクセルなので
動かないようです。64ビット変数少し勉強してみます。

お礼日時:2018/03/08 21:13

Beep コマンドの音をソフトウェアの設定で変えることはできません。

マザーボードに接続されているブザーを取り替えれば音は変わります。つまり機種によって音は違います。

Beep の代わりにサウンドファイルを再生するようにプログラムすれば好きな音が出せるようになります。

http://officetanaka.net/excel/vba/tips/tips22.htm

しかし、サウンド機能を持たないパソコンでは何も起こらなくなってしまう欠点もあります。

私が以前開発に携わっていたアプリではオープニングジングルを鳴らす時のエラーをチェックすることでサウンド機能の有無を確認し、音を鳴らす専用の関数を作成してそこを呼び出すようにしていました。
    • good
    • 0
この回答へのお礼

ありがとうございます。エクセルのマクロで大きな音が欲しいのです。
教えて頂いたマクロがBEEP音だったので。当方皆様のようなスキルが無い為質問マクロのどこをどう変えたら良いのか教えていただけば幸いです。

お礼日時:2018/03/08 13:29

> このBEEP音を違う音にしたいのですが可能でしょうか?



Beepコマンドのままでって事なら、Windowsのアラート音を変更しては。
Windows10なら、スタート、設定、個人用設定、テーマ、サウンドの設定のどれか、
たぶん「一般の警告音」を変更とか。
    • good
    • 1
この回答へのお礼

ありがとうございます。参考にします。

お礼日時:2018/03/08 08:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています