• 締切済み

エクセルの警告メッセージ表示について

エクセルのVBAについて皆様のお力を貸してください! あるシートに以下のような複数入力項目があって、“割引”に該当するとカウントします。 A1 ・・・ 定価 A2 ・・・ 割引 A3 ・・・ 定価    ・    ・    ・ D5に、カウントされた割引日数を合計算出。 D5の割引を182回まではOK。そのまま保存ができるものとします。 もし183回超えたら「警告!182回超えています!」というようなメッセージボックスを出して保存できないようにする。 というようなVBAを組み込みたいのですが、うまくいかなくて困っています。 ぜひとも教えていただけますでしょうか。 よろしくお願いいたします。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.2

Option Explicit '次行以下、Thisworkbookオブジェクトに記述 '//------------------------------------------------------------------------- '// 閉じるときにチェック 該当したらメッセージを表示して抜ける '//------------------------------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)  With ThisWorkbook   'D5をチェック   If .Sheets(1).Range("D5").Value > 182 Then    MsgBox "警告!182回超えています!」"    Cancel = True    Exit Sub   End If  End With End Sub

noname#232800
noname#232800
回答No.1

隣に、IF(B1="値引",1,0) さらに SUM(C$1:C1) でドラッグ IF(D1>183,"182を超えてます","")

関連するQ&A

  • VBAのメッセージボックスで%表示

    お世話になります。 VBAにて、算出されたある数字をメッセージボックスで %表示したいのですが、エクセルシートであれば、表示させる セルを決め、そのセルの表示形式を「パーセンテージ」にすれば いいのですが、メッセージボックスで表示させたいのです。 可能なのかどうか分かりませんが、ご教示頂きたく宜しく お願い申し上げます。

  • AccessForm内での警告メッセージ

    Accessのフォーム内にある”合計”欄が、100を超えたら 警告メッセージを出したいのですが、うまく動きません。 どうしたらいいでしょうか? ”合計”欄は、非連結のテキストボックスに、A+B+Cの合計値が入るようになっています。 表示は”%”表示です。 どなたかご教授お願いできますでしょうか。 ------------------------------------------- Private Sub 率合計_AfterUpdate() If Me!率合計 > 100 Then MsgBox "100を超えました" End If End Sub

  • エクセルのマクロでシートを表示させる

    マクロ初心者です。 1つのブックに20シート入っているのですが、 チェックBOXにチェックを付け、該当するシートのみを表示させるマクロを教えてください。 sheet1以外の下記のシートA~Dは非表示になっており sheet1にはシート名 A B C D というチェックBOXがあり、 例えば、Bにチェックを入れるとBのシートが表示され、 AとDなど複数チェックが入るとチェックしたシートが表示される様な マクロがありましたら、教えてください。 マクロの記録で読み込ませているのですが、複数シートの為、限界を感じております。 よろしくお願い致します。

  • エクセルで・・・

    エクセルで以下のシートがあります。 A   B  C  D 小林  ●  ●  ● 田中 佐藤  ●     ● このシートで、B/C/D列に数にかかわらず、一つでも『●』が入っていたら、1とカウントしたいのです。上のシートでいけば、小林は『1』、田中は『なし』、佐藤は『1』で、合計『2』とカウントしたいのです。どのような関数を使えばいいでしょうか?宜しくお願い致します。

  • エクセルでのテキストボックスの表示非表示について

     いつもお世話になっております。  エクセル2010を使用していますが、条件によってテキストボックスを表示か非表示にしたいと考えています。テキストボックスは、1つを想定しています。 【例】 (1)sheet1のセルA1が「該当」のとき  →sheet2にあるテキストボックスを表示 (2)sheet1のセルA1が「非該当」のとき  →sheet2にあるテキストボックスを非表示  以上、モジュールでの対応となると思いますが、やり方が分からず苦慮しています。ご教授をどうぞよろしくお願いいたします。

  • EXCELの複数条件式

    セルA  セルC 100   1000 101   1000 102   1000 200   2000 =SUM(IF(Sheet1!$A$1:$A$4=10,Sheet1!C$1:C$4,0),0) この条件式にセルAの先頭2桁で該当した合計を算出したいのですが 教えて下さい。

  • エクセルでの期間の重複について

    方法が全く思いつかないので、お手数ですが、ご回答おねがいします!  下のようなリストがあります。   A  B     C      D 1 井上 主任 2000/6/26 2003/3/20 2 井上 課長 2002/3/20  2003/3/20  この表で、井上さんが主任をしていた期間と、  課長をしていた期間がかぶっています(兼任の為)  しかし、兼任を考慮しないでカウントしてしまうと 職務期間の合計があわなくなります。  役職上、課長の期間を優先して日数のカウントをし たいんですが・・・  当方、恥ずかしながらマクロは使えません。  関数等、VBAを避けてなんとか出来ないかと考えていますが、  手動でチェックするにもせめて重複している項目が目でみてわかるようにならないかと質問させて頂きました。  是非、よろしくお願いします! 

  • EXCEL別ファイルへのコピー

    WinXP & OfficeXP 使用です。 EXCEL にて、Sheet1 で SUM 関数を使って算出されたデータを 別のファイルもしくは、別のシートへ自動的にコピーされる方法を おしえていただきたいです。 Sheet1 にて、SUM を用いて計算された合計が、A1~A5に表示されたとします。 この5個の合計を、別のファイルのシート、もしくは、同じ Book内の 別のシートへ、5個のデータとしてコピーされて欲しいのです。 Sheet1 にて計算される合計はタイムリーに変化するものとします。 その場合どのような関数を使ったら良いのでしょうか。 ちなみに、この「5個の合計を計算する Sheet1」と「5個の合計がコピーさ れるシート」はテンプレートで保存もしたいのです。 (データのない状態で保存したい) もう少し具体的な説明が必要であれば 指摘おねがいします。

  • 2シート間での重複を比較して警告を表示させたい。

    すいません。 初めてOKWaveを利用するので、 どんな質問の仕方が良いのかわかりませんが よろしくお願いします。 タイトルの件をエクセルVBAで表現するにはどうすればよいでしょうか? シート1には対象ホスト シート2には対象外ホストと仮定します。 保存する際に同じ文字列がないかチェックし、 重複があった際はメッセージ警告を表示させ保存を防止させたいのです。 もしくは違う方法で良い案があれば、お願いします。 お手数だとは思いますが、 ソースと説明文を記載して頂けると参考になります。

  • VBAでメッセージ表示

    VBAと関数でパート時間表を作成しております。 A1~C6まで時間が記入され、D1からD6に合計時間が記入されております。 合計時間が20時間超えた場合と、超えなかった場合に順番にメッセージ表示したいと思いますが、VBAの記入方法がわかりません。 E1からE6までには●×で表示しております。 1つのセルの場合は下記で表示できますが、繰り返し行う場合は、どのように記入すればよろしいでしょうか。 よろしくお願いします。 Sub メッセージ() 番号 = Range("D1").Value If 番号 > 20 Then MsgBox "大きい" Else MsgBox "小さい" End If End Sub

専門家に質問してみよう