I,K,L,M列は選択肢入力、及びカレンダー入力で入力されます。
Q列はK列+L列に期間が加算されて数式によって月末が表示されます。
R列はI列の日付によって3年目の年度末日が数式によって表示されています。
Q列の日付がR列の日付を超えてしまった時に警告を表すメッセージボックスを出したいと思います。
VBAの書き方を教えてください。

「期限を超えた日付に警告のメッセージボック」の質問画像

質問者からの補足コメント

  • Officeは2010、Windows8です。

      補足日時:2015/03/07 09:58
  • 回答ありがとうございます
    このコードのみでは満足いく結果でした。
    下記コードとバッテングするようでエラーになります。
    このコードと共存できないでしょうか?

    Private Sub Worksheet_Change(ByVal Target As Range)
    '半角大文字入力
    Dim r As Range
    If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each r In Target
    If r.Value <> "" Then
    r.Value = StrConv(r.Value, vbUpperCase + vbNarrow)
    End If
    Next r
    Application.EnableEvents = True
    End Sub

    No.2の回答に寄せられた補足コメントです。 補足日時:2015/03/07 22:22

このQ&Aに関連する最新のQ&A

A 回答 (2件)

一案です。


シート名のタブを右クリック
コードの表示をクリックしてVBエディターが起動

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 9 Or Target.Column = 11 Or Target.Column = 12 Then
If Range("Q" & Target.Row).Value > Range("R" & Target.Row).Value Then MsgBox "確認してください"
End If
End Sub

を貼り付けて閉じる。
とりあえず I、K、L列に値を入れてみてください。
Q,R列の関数の結果でメッセージが出ますが、
入力する順番で余計なメッセージも出ます。
この回答への補足あり
    • good
    • 0
この回答へのお礼

Worksheet_Change_1 で解決しました。
ありがとうございました。

お礼日時:2015/03/08 07:10

どの様なタイミングでメッセージがほしいのでしょうか?


別案ですが
I、L、M列に入力をされると思いますが、条件付き書式で
数式で、Q列>R列 の場合にセルの塗りつぶしで 赤など目立つ色になるように
設定しては如何でしょうか。
設定は
I~R列を選択
条件付き書式=>新しいルール
数式を使用して、書式設定・・・
数式に =$Q1>$R1
書式のボタンを押して、塗りつぶしで ご希望の色を選択して
OK
すれば完了です。
    • good
    • 0
この回答へのお礼

hallo-2007さん回答ありがとうございました。
出来れば、塗りつぶしのタイミングでメッセージボックスが現れて「期限を超えています」と表示したいです。

お礼日時:2015/03/07 15:20

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBAのプログラムで、DIAG = 1# / A(L, L) や R(

VBAのプログラムで、DIAG = 1# / A(L, L) や R(I) = 0# の数字1、0の後についている番号記号#は何を意味しているものでしょうか?

http://www.index-press.co.jp/books/excel/excel-04.pdf

の記事内にあるプログラムで使用されていますが、解説がありません。
調べてみましたがシャープと読まないことぐらいしかわかりませんでした。

どうぞよろしくお願いします。

Aベストアンサー

Pdf拝見しました。
凄く読みづらいプログラムで、どうにか修正したい欲に
かられるわけですが。

ここでいう♯記号などは、「リテラル」というもので型を
暗黙に示すもので、#はDouble型を示すものだと思います。

言語が違いますが仕様が似てますので参考まで。
3-1 変数と定数
 http://msdn.microsoft.com/ja-jp/library/dd314343.aspx
 …真ん中のほう:
 …VB .NET はリテラルのデータ型に応じて、以下のような表記をします(表 3-2)。
 …の明示的な記述方法の列

1♯ はDouble型の1ということになります。
基本的に、Dim i as Double と宣言すれば i はDouble型に決まって
いますので♯は要りませんが。

稀に Dim i as Variant(何でも型)と宣言したとき、i=1#とすると
Double型として明示代入ができます。
とはいえ、変数の中身が訳がわからなくなるので、こんな書き方は
通常はしません。
プログラム文中を判りやすく見せているだけだと思います。


とはいえ、このプログラムは読みづらいです。
変数、配列のインデクサ、ループカウンタなど殆どが英字2文字以下の
意味のない単語変数なので、可読性のよいプログラムクォリティとしては
よろしくないと思います。

Pdf拝見しました。
凄く読みづらいプログラムで、どうにか修正したい欲に
かられるわけですが。

ここでいう♯記号などは、「リテラル」というもので型を
暗黙に示すもので、#はDouble型を示すものだと思います。

言語が違いますが仕様が似てますので参考まで。
3-1 変数と定数
 http://msdn.microsoft.com/ja-jp/library/dd314343.aspx
 …真ん中のほう:
 …VB .NET はリテラルのデータ型に応じて、以下のような表記をします(表 3-2)。
 …の明示的な記述方法の列

1♯ はDouble型の1ということになります。...続きを読む

Qi,j,k

プログラムのカウントでi,j,kがよく使われる理由はあるのでしょうか

Aベストアンサー

コンピュータ黎明期のプログラム言語であるFORTRANでは、i~jで始まる変数を整数型としていました。言い換えれば他は実数型です。
で、ループのカウンタと言えば整数型なのでiを解りやすく使った伝統の名残だと思います。

Qfmlのconfig.phで使う、q{~};やq#~#;q%~%;は全て同じ意味?

メーリングリストのカスタマイズをしていて、ネット上で情報を集めているのですがどうしても分からないところがあります。 fml 4.0
$SMTP_OPEN_HOOKなどのHOOKを行うときに、q{~};やq#~#;q%~%を同じサイトであっても使い分けているようで、SMTP_OPEN_HOOKの時には =q{~}; を、START_HOOKでは =q#~#; のようになっています。
プログラムというもの自体触ったことはないのですが、一応記号が変わっているだけで中身は同じなのかなと思っています。
実際のところ別物でしょうか?

fmlとqで検索をかけても情報が引っかかりませんし、fmlとq#などとしてもfmlでしか検索できないみたいで八方ふさがりです。
よろしくお願いします。

Aベストアンサー

fmlはPerlという言語で書かれています。これはPerlの記法の問題です。
どれも意味は同じです。違うのは、
・囲まれた内部で使われて無い記号を使って囲むため
・書いた人が違う
・気分によって使い分け?

QASP,net,cgi,javascript,php等の技術

ASP,net,cgi,javascript,php等の技術で、Webアプリケーションを開発するに当って
どれで作成したほうがいいですか?

機能としては、顧客管理、掲示板、グラフ表示、データベースアクセス等の機能を使います。

それぞれの言語で作成するあたって、長所と短所を頂けると幸いです。

Aベストアンサー

・ASP
確かに古いですが、まだASPで動いているサイトはけっこうあると思います。性能面はCGIよりはいいのではないでしょうか。
IISでしか動作しないのが欠点です。

・.net
よく知りません。確かに古いASPよりはASP.netの方がいいかもしれ
ません。最近少しみかけるようになりました。
拡張子 aspx のサイトはこの作りですね。

・cgi
効率が悪いのでやめた方がいいと思います。ただ、いまだに一番
よく使われていると思います。自身でサーバが管理できないプロ
バイダのサーバにおくような場合はこれ以外の選択肢はないかも
しれません。

・javascript
通常はクライアント側で使う言語ですが、サーバ側で使うことも
あり得ます。たとえば、ASPでは、VBScriptの代わりにJavaScript
を使うこともできます。使って何のメリットがあるかは、よくわかり
ません。たとえば、ASPではVBScriptを使った方が動作は早いと
思います。

・PHP
よく知りません。

・あとはサーブレット・JSPも候補にあげた方がいいですね。
特に欠点もなく、無難に何でもこなせると思います。

・ASP
確かに古いですが、まだASPで動いているサイトはけっこうあると思います。性能面はCGIよりはいいのではないでしょうか。
IISでしか動作しないのが欠点です。

・.net
よく知りません。確かに古いASPよりはASP.netの方がいいかもしれ
ません。最近少しみかけるようになりました。
拡張子 aspx のサイトはこの作りですね。

・cgi
効率が悪いのでやめた方がいいと思います。ただ、いまだに一番
よく使われていると思います。自身でサーバが管理できないプロ
バイダのサーバにおくよう...続きを読む

Qいったい,,,,.NETって。。。

質問タイトルがあまりにプアでごめんなさい。素人なもんで。。。。。
MS .NETって、端的にいって何ができるの?何が違うの?アプリケーションの開発環境が向上しただけ?例えば、VB6で作ったアプリでは動作不可能だったことが、.NET環境では可能になるとかあるんですか?

あとWinXPの管理ツールをみると、MS.NET Framework1.1 xxxxxがありますけど、何に使うの?

Aベストアンサー

>アプリケーションの開発環境が向上しただけ?

その認識でいいと思います。
開発側からすると大きな違いです。
ユーザのメリットとしては、ソフトの品質が上がり、安くなる。
# 現状はそうでもないか

新しく出来ることは、ノータッチデプロイメントぐらいですかね。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報