上司に言われた締め切りがあと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
アクティブになってる入力シートに入力したときに、アクティブシートにメッセージボックスを出したいのですが、どうすればよいでしょう。複数の入力シートに
これを全て貼り付けることも考えましたが、入力シートの何個かのセルが、
在庫残高シートの一つのセルに参照されるようになっているので、そうしないほうが、
いいんじゃないかなとおもいました。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ブックのイベントモジュールで
シートがアクティブになった時と変更の時で制御すれば、いいですよ。
具体的例として....
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
ありがとうございました。
とりあえず、自分のできる範囲で作ってしまいました。
おかしくなったときに、自分でやったものを治すことはできますから。
でも、今度いろんなものを作るときに、皆さんの意見を参考に
していきたいと思います。
本当に感謝しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
Excel チェックボックスにチェ...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
ExcelVBA シート名を複数セルか...
-
VBA 存在しないシートを選...
-
【VBA】シート名に特定文字が入...
-
特定の文字を含むシートだけマ...
-
エクセルのマクロでアクティブ...
-
VBAで指定シート以外の選択
-
ExcelVBA:複数の特定のグラフ...
-
複数シートに色付きセル(条件つ...
-
【VBA】色のついたシート名を取得
-
エクセルVBA 同じ名前のシート...
-
ブック名、シート名を他のモジ...
-
VBA ユーザーフォーム上のチェ...
-
同じ作業を複数のシートに実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報