
以前下記のようなVBAを教えていただきました。
セルに違う値が入った時1回だけビ-プ音がなります。
この音を3回ほど繰り返すかもっと注意喚起できる音にしたいのですが、どこ
をどう変更すればいいのでしょうか?エクセルのVBAに詳しい方がいらっしゃたらお教え願います。
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
Beep
End If
End If
End With
End Sub
No.7ベストアンサー
- 回答日時:
余計なことかもしれませんが、難しく考え過ぎではありませんか?
Sound API を使っても構わないとは思いますが、
基本的には、Beep が専有している状態で次の命令をしても、Beepの始動は起こらないということです。だから、Beep をとんでもなく重ねても一回しか音がならないわけです。
ただ、以下の場合は、Windowsの◎のぐるぐるが出ますね。一旦、これは、外部に渡したほうが良いかもしれません。
'//
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 3 '回数
Application.Wait Now + TimeValue("00:00:01")
Beep
Next
End If
End If
End With
End Sub
'//
#5のGooUserラックさんの C:\Windows\Media\tada.wavは、指定しなくても、
MessageBeepを使えば良かったはずです。

No.6
- 回答日時:
下記のサイトが引用元です。
http://www.start-macro.com/55/w/s077.html
以下のようにしてください。
1.標準モジュールに以下のマクロを登録する。
----------------------------------------------
Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
'周波数:大きい数字になるほど高音
'作動時間:単位:1ミリ秒
Sub MyBeep(周波数 As Long, 作動時間 As Long)
Call BeepAPI(周波数, 作動時間)
End Sub
-----------------------------------------------
2.あなたが提示したマクロのBeepを
call MyBeep(600,1000)
のように変える。
最初の数字(600)が、音の高さです。
次の数字(1000)が音のなる時間です。(1000ミリ秒=1秒)
上記の数字をいろいろ変えて、あなたが納得する値を決めてください。
テスト時は、いきなり大きな音が出る可能性があるので、最初はボリュームを小さくして行ってください。
ありがとうございます。お教え頂いたURLのページは以前参考にしましたが
私には敷居が高かったです。もっと勉強したいと思います。重ねてお礼申し上げます。
No.4
- 回答日時:
ありがとうございます。確かに音はでるようですが上記の構文にどう組み込めばいいのか分かりません。当方は上記構文のBEEP音を大きくするか繰り返して注意喚起したいのです。重ねてお礼申し上げます。
No.3
- 回答日時:
こんにちは!
Beep音にこだわっていらっしゃるようですが、
別案として・・・
メッセージボックスを表示させる方法はどうでしょうか?
(メッセージボックスを消すのにEnterキーを押下またはクリックする手間が増えます。)
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
MsgBox "データ違い", vbExclamation
End If
End If
End With
End Sub
これでメッセージと「音」で注意喚起?ができます。m(_ _)m
tomo04様。ありがとうございます。凄いですね。こんな事も出来るんですね。
beep音にこだわりはありませんが教えて頂いたVBAがbbep音だったもので。
現場でバ-コ-ドをリ-ダ-で読み込み異品混入時に作業者が気付く様に大きな音が欲しいのです。WAV
でも何でも構いません。もちろんBEEPの繰り返しでもいいのですが。
No.2
- 回答日時:
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
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
Beep
End If
End If
End With
End Sub
で、いいんじゃない?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
手マンの時にグチュグチュ音が...
-
本気で悩んでます。 ふざけてな...
-
iPhoneで着信音が鳴りはじめの1...
-
高2男子です。 同級生の彼女が...
-
老人はなぜ食べるときに音を立...
-
皆さんはキスする時に 『チュッ...
-
テレビのキーン(ピーン)という...
-
ハードディスクの周期的なカチ...
-
何故、HDDにアクセスするときに...
-
ピアノ選びで悩んでますサミッ...
-
ホルンはHr。Hnは何?
-
トロンボーンからトランペット...
-
トランペットって難しいですか?
-
フルートのトレモロの運指は?
-
チューナーの落下防止
-
習い事 辞めたいけど辞めたくな...
-
楽器について
-
洋楽のタイトルを教えて欲しいです
-
中の上と上の下の違いは?
-
アメリカでギターを購入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
手マンの時にグチュグチュ音が...
-
ハイゼットトラック リア足回り...
-
本気で悩んでます。 ふざけてな...
-
高2男子です。 同級生の彼女が...
-
iPhoneで着信音が鳴りはじめの1...
-
皆さんはキスする時に 『チュッ...
-
唾を飲み込むときの音が本当に...
-
PC本体のbeep音の調整、消去に...
-
男性の方はおしっこの音で悩み...
-
テレビのキーン(ピーン)という...
-
SSDの筈なのにディスクアクセス...
-
電子ピアノの騒音、困っています。
-
グラフィックボードからキーン...
-
ラーメンやそばを、全く音を立...
-
レガートとポルタメントの違い
-
冷蔵庫からカチカチと音がしま...
-
老人はなぜ食べるときに音を立...
-
PCのHDDのシャキシャキ音がうる...
-
これで音質を良くしたいのです...
-
高2男子です。 同級生の彼女が...
おすすめ情報