
エクセルでI列に値が入力されていて、その値が変わればMSGBOXを30秒間だけ出すようにしたいが、どうすればいいんでしょうか?MSGBOXの中身は ”BUY""SELL"で
Private Sub Worksheet_Change
(By Val Target As Range)
If Target.Column="I"Then
Msgbox"buy""sell"
End IF
End Sub
これでは、表示されません どう改良するんでしょうか?
あと、30秒間だけ表示させるには、
option explicit
public declare function gettickcout lib
"kernel132"()As long で証明?して
DimStartTime
DimNowTime
StartTim=GetTickCount
MyMsgbox.Show0
DoWhileNowTime-StartTime<3000
NowTime=GetTickCount
Do Event
Loop
Unload My Msgbox
End sub だと思うんですが、二つを混ぜてするにはどうするのでしょうか?教えてください
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
掲載したマクロは微妙に変ですね。
まずIf Target.Column="I"Then
では、Columnプロパティは列番号を返しますので、ここは数字を書きます。
次に
MyMsgbox.Show
とありますので、Msgboxメソッドではなく、ユーザーフォームを使っているように思います。
またGetTickCountはミリセカンド単位で秒を取得しますので、間違いではありませんが使う必要もないと思います。
まずUserFormを新規作成し、その上にLabel1を定義しておきます。
UserForm1右クリック→コードの表示で開く画面に次のマクロを貼り付けます。
Private Sub UserForm_Activate()
Dim sTime
sTime = Time
UserForm1.Label1.Caption = "30秒後に閉じます"
UserForm1.Repaint
Do While Time - sTime < TimeValue("00:00:30")
DoEvents
Loop
Unload Me
End Sub
次に入力シートのシート名右クリック→コードの表示で開く画面に以下のマクロを貼り付けます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 9 Then
UserForm1.Show
End If
End Sub
No.1
- 回答日時:
こんにちは。
>エクセルVBA MSGBOXを30秒間出したい
>それをUWSCソフトで監視して命令を出したい
このうちのUWSCソフトなどというものはとんと知識なしですので
MsgBoxの方だけ、一案。
Sheet1のI列に変化があったとき、5秒間メッセージを表示する場合。
Sheet1のシートモジュールに以下をコピペ。
'-------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myPop As Object
If Target.Column <> 9 Then Exit Sub
Set myPop = CreateObject("Wscript.Shell")
myPop.PopUp "ここにメッセジの内容", 5, "ここにタイトル"
Set myPop = Nothing
End Sub
'----------------------------------------------
上記PopUpの数値、5、のところが秒数です。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
Excelでマクロ実行中に画面を固...
-
VBA Shapes コピーと名前
-
EXCEL VBA 他のアプリケーショ...
-
セルに入力するたびにマクロを...
-
エクセル マクロ写真帳に一括で...
-
【Excel】マクロでページを追加...
-
エクセルVBAで納期管理システム...
-
エクセルファイルの回数期限の...
-
秀丸で文字列範囲を選択したら...
-
【ExcelVBA】マクロブックを通...
-
VBAの記述について 値のみの貼...
-
ExcelのVBAで自動採番したい...
-
worksheet_changeの一時無効化
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
複数のマクロボタンをまとめて...
-
【Excel VBA】マクロでExcel自...
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
VBA Shapes コピーと名前
-
Excelでマクロ実行中に画面を固...
-
エクセル マクロ写真帳に一括で...
-
セルに入力するたびにマクロを...
-
エクセル連番自動印刷について
-
【Excel】マクロでページを追加...
-
エクセル 図形の寸法を取得したい
-
EXCEL VBA 他のアプリケーショ...
-
エクセルファイルの回数期限の...
-
VBAで行コピーして挿入
-
エクセルVBAで納期管理システム...
-
ブックの共有でVBAエラー
-
【ExcelVBA】マクロブックを通...
-
VB.NETによるEXCELの行挿入
-
再度,ExcelVBA,public変数が消える
-
worksheet_changeの一時無効化
-
EXCEL 行番号や列番号が選択で...
-
マクロで非表示シート内にある...
-
EXCEL上にコマンドボタン...
おすすめ情報