質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

2486閲覧

VBA 日付の比較をしたいのですがどう調べればよいのかわかりません。

daikichiguy

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/06/07 09:43

編集2020/06/07 22:43

VBA 日付の比較をしたいのですがどう調べればよいのかわかりません

いつもお世話になっております。
私はVBAを勉強し始めて2か月程度の社会人です。
普段はわからないコードは調べて書いていたのですがどう調べればよいのかわからなかったのでこちらでご質問させてください。

名前A日付B日付
Aさん2017/1/12018/1/1
Aさん2018/2/32018/1/1
Aさん2019/3/32018/1/1
Bさん2019/3/32017/3/3
Bさん2018/4/12017/4/1

◎実行したいこと
名前列にある人物の[A日付の一番過去の日付]と[B列の一番過去の日付]を比較して
A列よりB列のほうが過去の日付ならば色を付けるといった処理をしたいと考えております。

例)Aさんの場合 A日付(2017/1/1)とB日付(2018/1/1)を比較して、A日付のほうが過去なので色付けなし
Bさんの場合 A日付(2018/4/1)とB日付(2017/3/3)を比較して、B日付のほうが過去なので色付けする

日付はシリアル値

発生している問題・エラーメッセージ

調べ方、参考サイトがみつかりませんでした。

ご教授いただけますと幸甚と存じます

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sinzou

2020/06/07 10:30

日付表示されているセルには、文字列 と シリアル値 が有ります。 シリアル値ならば、条件付き書式で済みそうですが。
daikichiguy

2020/06/07 13:34

sinzouさん 条件付き書式の考えは思いつきませんでした。 シリアル値ですが、条件をどうすれば良いのか、、、
guest

回答1

0

ベストアンサー

ExcelVBA

1Sub test() 2 Dim r As Range 3 4 For Each r In Range("A1").CurrentRegion.Rows 5 With r.Cells 6 If .Item(2).Value > .Item(3).Value Then 7 .Interior.Color = vbYellow 8 End If 9 End With 10 Next 11End Sub

シリアル値は日付は整数なので(時間は小数)、
何にも考えずに比較すればよいです。

条件付き書式設定でやる方がよいと思いますが、
VBAの勉強ということで。。。

投稿2020/06/07 22:47

mattuwan

総合スコア2163

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

daikichiguy

2020/06/07 23:20

mattuwanさん ご回答ありがとうございます。 無事解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問