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

先輩OLがやめるのでエクセル猛勉強中です。

  • すぐに回答を!
  • 質問No.241482
  • 閲覧数171
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 55% (64/116)

エクセルで在庫管理をすることになりました。完璧に作って
みんなに認めてもらいたいので、マクロも組んでいます。
今まで本とか読んでがんばっていましたが、どうしても
動かないので、おしえてください。下のように組んでもオブジェクト
が無いと言って動いてくれないのです。皆さんには簡単すぎるかもしれず、
恥ずかしいですがよろしくお願いします。

Private Sub 警告()
If thisworksheets.Range("c6") < Worksheets("在庫限界入力").Range("c6") Then
MsgBox "在庫不足", vbOKOnly, "警告"
End If
End Sub
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

補足の
>・・・警告をだしたいのですが
について考えてみました。

シート名を
 データを入力するシート・・・データ入力
 データを合計するシート・・・データ合計
 限界値入力シート・・・・・・在庫限界値 とします。
計算方法は自動にしておきます。

シート<データ入力>のどこかに、『=データ合計!C6』 を入力します。差し障りのない位置がいいと思います。

VBE画面で、シート<データ入力>のコードウインドウに下記を貼り付けます。

Private Sub Worksheet_Calculate()
  If Worksheets("データ合計").Range("C6") < Worksheets("在庫限界入力").Range("C6") Then
    MsgBox "在庫不足", vbOKOnly, "警告"
  End If
End Sub
お礼コメント
majimekun

お礼率 55% (64/116)

ありがとうございます。ああ、なるほどと思いました。ちょっと
わたしの発想が貧弱だったのですね。
これでだめだったら、また新しい質問をします。
本当にありがとうございました。
投稿日時 - 2002-03-26 18:43:40
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 33% (102/305)

「thisworksheets」にしようとしてることは、 マクロをこのシートに書いているわけですよね。 「thisworksheets」は最初「Dim」でオブジェクトとして定義しないとオブジェクトとしてはみなされませんよ。 どうせならこうやってみたらどうですか? Private Sub 警告() If Me.Range("c6") < Worksheets(& ...続きを読む
「thisworksheets」にしようとしてることは、
マクロをこのシートに書いているわけですよね。
「thisworksheets」は最初「Dim」でオブジェクトとして定義しないとオブジェクトとしてはみなされませんよ。

どうせならこうやってみたらどうですか?

Private Sub 警告()
If Me.Range("c6") < Worksheets("在庫限界入").Range("c6") Then
MsgBox "在庫不足", vbOKOnly, "警告"
End If
End Sub

「thisworksheets」を使う場合は、
Private Sub 警告()
Dim thisworksheets As Object
Set thisworkbooks=Me
If thisworksheets.Range("c6") < Worksheets("在庫限界入力").Range("c6") Then
MsgBox "在庫不足", vbOKOnly, "警告"
End If
End Sub
あまり意味がないですが・・・
補足コメント
majimekun

お礼率 55% (64/116)

早速回答していただきまして、ありがとうございます。おかげさまで、エラーが出なくなりました。
ただ質問の内容自体が間違っていたようです。他のシートで入力した数が、このシートに合計されて、在庫限界入力シートの数字よりも少なくなったら警告をだしたいのですが、ぜんぜんうまくいきませんでした。public subかなあと思ってやってみましたが、もともと理解力がないせいか、本を読んでもわかりませんでした。
すみません。
ご指導のほどよろしくお願いします。
投稿日時 - 2002-03-26 09:28:50
お礼コメント
majimekun

お礼率 55% (64/116)

すみません。初めてなもので、補足に書いてしまいました。
早速の回答、ほんとうにありがとうございます。
よろしければ、補足に書いた質問のほうも見ていただけますか。
質問のしかたが不十分だったみたいで。
よろしくおねがいします。
投稿日時 - 2002-03-26 10:24:28


  • 回答No.2
レベル6

ベストアンサー率 0% (0/3)

こんにちは。 Private Sub 警告() If Range("c6") < Worksheets("在庫限界入力").Range("c6") Then MsgBox "在庫不足", vbOKOnly, "警告" End If End Sub 「thisworkshee ...続きを読む
こんにちは。

Private Sub 警告()
If Range("c6") < Worksheets("在庫限界入力").Range("c6") Then
MsgBox "在庫不足", vbOKOnly, "警告"
End If
End Sub

「thisworksheets.」の部分をとればエラーは出ないと思いますよ。
補足コメント
majimekun

お礼率 55% (64/116)

早速回答していただきまして、ありがとうございます。おかげさまで、エラーが出なくなりました。
ただ質問の内容自体が間違っていたようです。他のシートで入力した数が、このシートに合計されて、在庫限界入力シートの数字よりも少なくなったら警告をだしたいのですが、ぜんぜんうまくいきませんでした。public subかなあと思ってやってみましたが、もともと理解力がないせいか、本を読んでもわかりませんでした。
すみません。
ご指導のほどよろしくお願いします。
投稿日時 - 2002-03-26 09:35:46
お礼コメント
majimekun

お礼率 55% (64/116)

すみません。初めてなもので、補足に書いてしまいました。
早速の回答、ほんとうにありがとうございます。
よろしければ、補足に書いた質問のほうも見ていただけますか。
質問のしかたが不十分だったみたいで。
よろしくおねがいします。
投稿日時 - 2002-03-26 10:27:03
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

-PR-

ピックアップ

-PR-
ページ先頭へ