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と関連する良く見られている質問

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ということになります。...続きを読む

Qイタリア語簡易翻訳サイトについて

私はイタリア語はわかりません。
そこで、イタリア語で書かれた文章をGoogleやExciteのWeb翻訳で日本語や英語にしてなにを言っているのか、を知るようにしています。
ある仕事上、海外在住のイタリア人と英語でメールにて会話していたのですが、どうも相手のほうが英語が苦手、ということで、プライベートの内容はイタリア語でいいですよ、と言ったところ、もっと話をしてくるようになり助かるのですが、私はいかんせん、イタリア語は挨拶以外知りませんので、Web翻訳使っています。
GoogleとExciteでのどちらでも同じような意味になるので、なにを言っているのか、は、おおよそ理解できます。

問題は、

私は簡単でシンプルな英語とイタリア語で相手に書くようにしたのですが、

日本語、あるいは英語から、イタリア語に訳すとき、GoogleとExcite翻訳では若干違うイタリア語になります。

日本語から英語への翻訳の場合を見ても、同じようにWeb翻訳によって異なりますが、

イタリア語の場合、

GoogleとExciteWeb翻訳のどちらが、
より正確な(相手に通じる)イタリア語でしょうか?

これから文法など勉強していくことになりますが、急いでいることもあり、相手に通じる簡単なイタリア語でよいのでとりあえず今使いたいと思っています。

私はイタリア語はわかりません。
そこで、イタリア語で書かれた文章をGoogleやExciteのWeb翻訳で日本語や英語にしてなにを言っているのか、を知るようにしています。
ある仕事上、海外在住のイタリア人と英語でメールにて会話していたのですが、どうも相手のほうが英語が苦手、ということで、プライベートの内容はイタリア語でいいですよ、と言ったところ、もっと話をしてくるようになり助かるのですが、私はいかんせん、イタリア語は挨拶以外知りませんので、Web翻訳使っています。
GoogleとExciteでのどちらでも...続きを読む

Aベストアンサー

機械翻訳は欧米語間、特にイタリア語と姉妹関係にあるスペイン語、ポルトガル語、フランス語間ではほぼ正確な訳が出来ます。 日本語は構造的に欧米語とは非常に離れた言語であり、翻訳機そのものが英語を仲介語としているようなので、英語訳が困難な日本語は他の欧米語でも困難、時に意味不明になります。

従って
1)あなたがイタリア語の姉妹語が理解できるならまずそちらの言葉に翻訳してからイタリア語に
訳す。
2)姉妹語が駄目なら英語で書く。
3)日本語を英語に翻訳する場合は、日本語を英語的発想で書き変える。
例:今日はどこへいくの?→今日、あなたはどこへ行きますか?
4)既に行って居るようですが、翻訳語に不安がある場合はイタリア語を英語か他の欧米語に再度翻訳してみる。

無料翻訳機そのものには大きな差はないはずです。入力する日本語の差で訳語に差が出ます。
つまり現在の翻訳機はまったくその言語を知らない人には危険で実用になりません。自分で辞書片手に翻訳するより機械訳が早いので利用する価値はありますが、もし機械訳がおかしければ自ら訂正できればベターです。

なお誤解が生じない様に(生じた時のために)機械訳でイタリア語を書いている旨事前に相手に知らせておくべきでしょう。

機械翻訳は欧米語間、特にイタリア語と姉妹関係にあるスペイン語、ポルトガル語、フランス語間ではほぼ正確な訳が出来ます。 日本語は構造的に欧米語とは非常に離れた言語であり、翻訳機そのものが英語を仲介語としているようなので、英語訳が困難な日本語は他の欧米語でも困難、時に意味不明になります。

従って
1)あなたがイタリア語の姉妹語が理解できるならまずそちらの言葉に翻訳してからイタリア語に
訳す。
2)姉妹語が駄目なら英語で書く。
3)日本語を英語に翻訳する場合は、日本語を英語的発想で...続きを読む

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イタリア語とスペイン語

イタリア語とスペイン語、きちんと両立できている方がいたら、コツを教えてください。
スペイン語を中級まで学習後、イタリア語を始めました。当初は両立できていたのですが、イタリア語のレベルがあがるにつれ 気づかないうちにちゃんぽんになってしまうため、スペイン語を凍結してかれこれ10年です。いまだにイタリア語のつもりでスペイン語が出てきてしまうことがあります。

Aベストアンサー

英語→スペイン語・イタリア語の翻訳練習でしたら、日本の中学や高校の教科書よりもっといいのがありますよ。フランスの出版社ですが、いい教材があります。これは、スペイン人向けの英語、イタリア人向けの英語のコースがあります。これらはそれぞれ、英語をスペイン語、イタリア語で解説してありますので、英語はmika669さんには朝飯前でしょうから
スペイン語やイタリア語の格好のトレーニングになります。 スペイン人向けの英語、イタリア人向けの英語のコース共に、テキスト文は同じ英文なので、同じ英文から それぞれ
スペイン語、イタリア語に訳す練習ができます。英文も中学や高校の教科書の英文よりもカジュアルで楽しいです。
それと、スペイン人向けのイタリア語、イタリア人向けのスペイン語のコースもあります。
そして余裕があったら、スペイン人またはイタリア人向けの他の言語のコースに挑戦するのもいいでしょう。また、英米人向けのフランス語などのコースもあります。
もし、国内の代理店を通して購入されるのなら イタリア書房か欧明社になります。
ただ、値段が高く、CDなしの本のみで4500円ほどです。CD付だと10,000円を超えますけど、CDは要りませんよね。

http://en.wikipedia.org/wiki/Assimil

http://www.assimil.com/descriptionProduitDetail.do?paramIdProduit=2278&paramIdMethode=2278

http://www.assimil.com/descriptionProduitDetail.do?paramIdProduit=3048&paramIdMethode=3048

http://www.assimil.com/descriptionProduitDetail.do?paramIdProduit=110&paramIdMethode=110

http://www.assimil.com/descriptionProduitDetail.do?paramIdProduit=2541&paramIdMethode=2541

http://italiashobo.com/hq/index.php

http://www.h6.dion.ne.jp/~omeisha/

英語→スペイン語・イタリア語の翻訳練習でしたら、日本の中学や高校の教科書よりもっといいのがありますよ。フランスの出版社ですが、いい教材があります。これは、スペイン人向けの英語、イタリア人向けの英語のコースがあります。これらはそれぞれ、英語をスペイン語、イタリア語で解説してありますので、英語はmika669さんには朝飯前でしょうから
スペイン語やイタリア語の格好のトレーニングになります。 スペイン人向けの英語、イタリア人向けの英語のコース共に、テキスト文は同じ英文なので、同じ英文から ...続きを読む

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

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

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

Aベストアンサー

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

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

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

Qイタリア土産のパスタを頂いたのですが イタリア語が解りません。これは賞

イタリア土産のパスタを頂いたのですが イタリア語が解りません。これは賞味期限が2011 4/28 で 茹で時間が4分でしょうか?

Aベストアンサー

一番上の行を日付とするなら、2011年4月28日ですね。
(賞味期限かどうかを示す単語が近辺に見られないので断言できませんが、買った時点で
未来なら賞味期限、過去なら製造年月日なのが食品の基本ですからまあ大丈夫でしょう)

下の方は『調理時間4分』となっています。パスタですから、茹で時間ですね。

ちなみに、PAGLIA E FIENO は『わらと干し草』という意味です。これは銘柄(商品名)かな・・・。

QC#でテキストボックスに入力した文字列をビット列に変換

C#で電子透かしのプログラムを作ってるのですが、テキストボックスに入力した文字列(日本語)をビット列に変換する方法はないでしょうか?
VBだとchngBit()という関数がありますが、アルファベットしかダメみたいです。

Aベストアンサー

返信が遅くなってすみません。

>これだと16進数の文字列に変換されますが、2進数の文字列に変換するにはどうしたらよいのでしょうか?
GetBytes()で取得したバイト列から各ビットを取り出せばよいでしょう。
2進数の文字列に変換したいのであれば、ビット演算を使用して

byte[] bytes = sjisEnc.GetBytes(str);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.Length; i++) {
  byte b = bytes[i];
  for (int j = 0; j < 8; j++) {
    sb.Append(b & 0x80);
    b <<= 1;
  }
}
String binaryString = sb.ToString();

とでもすれば良いかと…。
ただし、ビルドしてないのでミスがあるかもしれません。

#0、1の値を持つ配列等ではなく2進数の文字列でいいんですよね?

返信が遅くなってすみません。

>これだと16進数の文字列に変換されますが、2進数の文字列に変換するにはどうしたらよいのでしょうか?
GetBytes()で取得したバイト列から各ビットを取り出せばよいでしょう。
2進数の文字列に変換したいのであれば、ビット演算を使用して

byte[] bytes = sjisEnc.GetBytes(str);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.Length; i++) {
  byte b = bytes[i];
  for (int j = 0; j < 8; j++) {
    sb.Append(b & 0x80);
   ...続きを読む

Qイタリア語を学ぶ為に

こんにちは。
今、イタリア語を勉強しています。私はネイティブなイタリア人から習っているので、ヒアリングはとても勉強になっていますが、ただそれも週に一度なのでもっとイタリア語に触れられるようにイタリア語で書かれている本や音楽、映画などが欲しいのですがなかなかみつかりません。
もちろん大きな書店へ行けば、洋書のコーナーにあるのはあるのですが、すごく太くて専門的な本とかが多くて私のイメージしているものとは違います。

私が欲しいのは、初心者でも読みやすい分かりやすい本。(小説でも、雑誌でも、子供が読むような絵本でも構いません)
また、音楽や映画も英語のものはいくらでもあるけどイタリアの音楽とかを聴いたことがないのでどういうのがあるのかもわかりません。

ぜひ、みなさんのお勧めのイタリア語で書かれていたりイタリア語に触れられるものがあったら教えてください。

またみなさんはイタリア語を上達させるために何がやくにたちましたか?
イタリア語の新聞って日本でかう事ができますか?
それももしご存知だったら教えてください。

Aベストアンサー

いいですね、ネイティブなイタリア人にイタリア語を教えてもらえて。

日本では売っているかどうかわからないので参考にならないかもしれないのですが、イタリアで買った、子供向けのディズニーの絵本や、お料理の本が役に立ちます。
レシピについては子供向けじゃなくても知っているイタリアンなら結構わかりやすいですよ。

イタリア語の映画を見るなら、スタンダードなのは
「ライフイズビューティフル」や「ニューシネマパラダイス」(...もそうですよね?)。最近のものなら「マレーナ」や「息子の家」「踊れトスカーナ」「ピノッキオ」などがあります。

イタリアの新聞を日本で買えるかどうかはわかりませんが、WEBで見れますよ。http://www.yahoo.it/で知っている新聞の名前を入れて検索してみましょう。例えばLa stampaはhttp://www.lastampa.it/redazione/default.asp
ここで見れます。

イタリア語を勉強するには、yahooチャットとかでイタリア人と喋るのも結構勉強になります。片言でも会話できちゃうけど、教科書とかでは習わない面白い言い回しとか出てくるし。

いいですね、ネイティブなイタリア人にイタリア語を教えてもらえて。

日本では売っているかどうかわからないので参考にならないかもしれないのですが、イタリアで買った、子供向けのディズニーの絵本や、お料理の本が役に立ちます。
レシピについては子供向けじゃなくても知っているイタリアンなら結構わかりやすいですよ。

イタリア語の映画を見るなら、スタンダードなのは
「ライフイズビューティフル」や「ニューシネマパラダイス」(...もそうですよね?)。最近のものなら「マレーナ」や「息子の...続きを読む

Q(再質問)VC#でテキストボックスに入力した文字列をビット列に変換

No.1017874で質問して回答頂いたのですが、うまくいきませんでした。質問の仕方が悪かったのかもしれません。締切ってしまったので再質問します。

テキストボックスに入力した文字列を2進数の文字列(0と1)に変換したいのですが、下記のプログラムでは、2や8が含まれます。
例えば、"シ"はシフトJISでは16進数で8356なので、1000001101010110となってほしいのですが、下記プログラムでは128000001281280128012801281280となりました。
sb.Append(b & 0x80)の部分で(b & 0x80)が2進数10000000(10進数で128)の場合に10進数にしてsbに加えるためだと思いますが、
最上位ビット(この場合は1)だけを加えていくと、ほしい結果が得られそうです。
その方法を教えて下さい。

private void button2_Click(object sender, System.EventArgs e)
{
int i,j;
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");

string str = textBox1.Text;
byte[] bytes = sjisEnc.GetBytes(str);
StringBuilder sb = new StringBuilder();
for (i = 0; i < bytes.Length; i++)
{
byte b = bytes[i];
  for (j = 0; j < 8; j++)
{
sb.Append(b & 0x80);
    b <<= 1;
}
}
String binaryString = sb.ToString();
textBox1.Text = binaryString ;
}

参考ページ(文字列をシフトJISとしてバイト列に変換するには?)
http://www.atmarkit.co.jp/fdotnet/dotnettips/010str2byte/str2byte.html

No.1017874で質問して回答頂いたのですが、うまくいきませんでした。質問の仕方が悪かったのかもしれません。締切ってしまったので再質問します。

テキストボックスに入力した文字列を2進数の文字列(0と1)に変換したいのですが、下記のプログラムでは、2や8が含まれます。
例えば、"シ"はシフトJISでは16進数で8356なので、1000001101010110となってほしいのですが、下記プログラムでは128000001281280128012801281280となりました。
sb.Append(b & 0x80)の部分で(b & 0x80)が2進数10000000(10進数で128)の場...続きを読む

Aベストアンサー

class foo {

public static void Main() {
System.Text.Encoding sjisEnc = System.Text.Encoding.GetEncoding("Shift_JIS");
string str = "シ";
byte[] bytes = sjisEnc.GetBytes(str);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for ( int i = 0; i < bytes.Length; i++) {
byte b = bytes[i];
for ( int j = 0; j < 8; j++) {
sb.Append((b & 0x80) != 0 ? '1':'0');
b <<= 1;
}
}
string binaryString = sb.ToString();
System.Console.WriteLine(binaryString);
}
}

class foo {

public static void Main() {
System.Text.Encoding sjisEnc = System.Text.Encoding.GetEncoding("Shift_JIS");
string str = "シ";
byte[] bytes = sjisEnc.GetBytes(str);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for ( int i = 0; i < bytes.Length; i++) {
byte b = bytes[i];
for ( int j = 0; j < 8; j++) {
sb.Append((b & 0x80) != 0 ? '1':'0');
b <<= 1;
}
}
string binarySt...続きを読む


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

人気Q&Aランキング