よろしくお願いします。以下のように組んで見ました。
Private Sub Worksheet_Change(ByVal Target As range)
Dim clm As Integer
Dim row As Integer
clm = Target.Column
row = Target.row
If Worksheets("発注指示").Cells(row, clm) = "不足" Then
MsgBox "在庫不足", vbOKOnly, "注意"
End If
End Sub
どうして動かないのでしょう。
本当にわからないので、教えてください。
これで一日つぶれました。
No.1
- 回答日時:
こんにちは。
maruru01です。Worksheets("発注指示").Cells(row, clm)
のところを、
Worksheets("発注指示").Cells(row, clm).Value
かな。
ちなみに、
「かんたんプログラミング Excel2000VBA For Windows」
著:大村あつし 出版社:技術評論社
という本は、「基礎編」「コントロール・関数編」「応用編」わかりやすいですよ。
3冊で7000円ほどしますが、初心者やプログラミングをあまり知らない人向けです。
では。
No.2ベストアンサー
- 回答日時:
シートまたはBookの全体が見えないので断定できませんが、質問のコードだけをみれば問題ないでしょう。
何を行いたいか完全にはわかりませんが、コードは機能しているはずです。
Worksheet_Changeが貼り付けてあるのはシート『発注指示』ではないと思いますが、このマクロがあるシートのセルの値を変更した場合、シート発注指示の同じセル座標に『不足』の文字が入っていればメッセージが出ます。
例えば、シート『発注指示』のセルA1にのみ『不足』と入力されていれば、Worksheet_Changeが貼り付けてあるシートのセルA1を変更した場合のみ、メッセージが出ることになっています。
従って、シート『発注指示』に不足の文字が入っているセルと同じセルを変更しないとメッセージは出ません。
Worksheet_Changeが貼り付けてあるのがシート『発注指示』ならば、書き換えてしまうわけで機能しませんね。
どうも、シート発注指示とWorksheet_Changeが書かれているシートがどうなっているのかイメージが湧きません。
何故rowとcolが固定?? 1つ前の質問もそういう訳で?ですね。
この回答への補足
ありがとうございます。
いろいろやっているうちに、出たり出なかったりして困っています。
このコードがはってあるのは、出荷の入力シートです。同じシートが何枚もあり
ます。
>従って、シート『発注指示』に不足の文字が入っているセルと同じセルを変更し>ないとメッセージは出ません。
ご指摘のとおり、同じセル以外にも、不足と変化する別のアドレスのセルが
あります。
一度、同じセルだけなら何本不足というところまでいったのですが、
やっているうちに、同じセルでもいかなくなりました。
出荷入力シートの一つだけで実験しているから悪いのでしょうか?
よろしくお願いします。
No.3
- 回答日時:
質問にあるコードを見て言えることは、
(1)Worksheet_Changeが書いてあるシートしかメッセージは出ない。
Worksheet_Changeが書いてないシートでは何も出ない。
(2)このWorksheet_Changeが書いてあるシートで、
シートのセル(r行目c列目とする)に入力した場合、
シート『発注指示』のr行目c列目に『不足』の文字があればメッセージが出る。
『不足』の文字がなければメッセージは出ない。
(3)このWorksheet_Changeが書いてあるシートで、
Worksheet_Changeが書いてない他シートを参照しているセルがあり、
他シートの値を変えた場合はWorksheet_Changeは発生しない。
(Worksheet_Changeが書いてあるシートのセルの値は変わるがChangeイベントは発生しない)
ということでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 空白のセルを変更しようとした時(アクティブセル)に インプットボックスを5回出す インプットボックス 1 2023/03/14 11:01
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
Vba 実数および実数タイプの変...
-
ユーザーフォームに別シートか...
-
VBA レジストリの値の読み方に...
-
エクセルVBAについて
-
VBA listBoxから
-
ExcelのVBAコードについて教え...
-
VBA 複数条件の分岐処理の上手...
-
ExcelのVBAです。フォルダ内の...
-
VBAの計算で@が出てしまう件
-
VB.net(VB)で、フォームにExcel...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBAの質問になります メッセー...
-
Excel マクロについての相談
-
Vba SelStart、SelLen教えてく...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報