OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

メッセージボックスについて。

  • 困ってます
  • 質問No.242923
  • 閲覧数50
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 55% (64/116)

上司に言われた締め切りがあと4日になってしまいました。
在庫管理で在庫残高シートに次のプログラムをはってみました。
Private Sub Worksheet_Change(ByVal Target As range)
Dim clm As Integer '変化したセルの列
Dim row As Integer '変化したセルの行
Dim counter As Integer '不足数

clm = Target.Column
row = Target.row
If Worksheets("在庫残高").Cells(row, clm) < Worksheets("在庫限界入力").Cells(row, clm) And Worksheets("在庫残高").Cells(row, clm) > 0 Then
counter = Worksheets("在庫限界入力").Cells(row, clm) - Worksheets("在庫残高").Cells(row, clm)
MsgBox counter & "本在庫不足", vbOKOnly, "注意"
Else
If Worksheets("在庫残高").Cells(row, clm) < 0 Then
MsgBox "在庫がありません", vbOKOnly, "警告"
End If
End If
End Sub

アクティブになってる入力シートに入力したときに、アクティブシートにメッセージボックスを出したいのですが、どうすればよいでしょう。複数の入力シートに
これを全て貼り付けることも考えましたが、入力シートの何個かのセルが、
在庫残高シートの一つのセルに参照されるようになっているので、そうしないほうが、
いいんじゃないかなとおもいました。
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル7

ベストアンサー率 31% (6/19)

ブックのイベントモジュールで
シートがアクティブになった時と変更の時で制御すれば、いいですよ。

具体的例として....
Option Explicit

Dim chg As Boolean
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
chg = False
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Not chg Then

MsgBox CStr(Target.Value)
chg = True

End If

End Sub
お礼コメント
majimekun

お礼率 55% (64/116)

ありがとうございました。
とりあえず、自分のできる範囲で作ってしまいました。
おかしくなったときに、自分でやったものを治すことはできますから。
でも、今度いろんなものを作るときに、皆さんの意見を参考に
していきたいと思います。
本当に感謝しています。
投稿日時 - 2002-03-31 10:30:41
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ