C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

【VBA】現在の日付から過去の日付を引く /工場プログラマー (21/02/16(Tue) 14:14) #96815
Re[1]: 【VBA】現在の日付から過去の日付を引く /furu (21/02/16(Tue) 15:05) #96819
Re[1]: 【VBA】現在の日付から過去の日付を引く /魔界の仮面弁士 (21/02/16(Tue) 14:56) #96817
  └ Re[2]: 【VBA】現在の日付から過去の日付を引く /工場プログラマー (21/02/16(Tue) 15:56) #96822
    └ Re[3]: 【VBA】現在の日付から過去の日付を引く /魔界の仮面弁士 (21/02/16(Tue) 16:47) #96823
      └ Re[4]: 【VBA】現在の日付から過去の日付を引く /工場プログラマー (21/02/17(Wed) 16:47) #96834 解決済み


親記事 / ▼[ 96819 ] ▼[ 96817 ]
■96815 / 親階層)  【VBA】現在の日付から過去の日付を引く
□投稿者/ 工場プログラマー (54回)-(2021/02/16(Tue) 14:14:59)

分類:[Microsoft Office 全般] 

2021/02/16(Tue) 14:16:39 編集(投稿者)
2021/02/16(Tue) 14:16:35 編集(投稿者)

win10 ExcelVBA

現在の日付からセル内に表示されている日付の差分を取得したいのですが
何かいい方法ありますか?

[ □ Tree ] 返信 編集キー/

▲[ 96815 ] / 返信無し
■96819 / 1階層)  Re[1]: 【VBA】現在の日付から過去の日付を引く
□投稿者/ furu (104回)-(2021/02/16(Tue) 15:05:27)
No96815 (工場プログラマー さん) に返信
> 現在の日付からセル内に表示されている日付の差分を取得したいのですが
> 何かいい方法ありますか?
引き算では駄目なの?

Range("B1").Value = Date - Range("A1").Value
[ 親 96815 / □ Tree ] 返信 編集キー/

▲[ 96815 ] / ▼[ 96822 ]
■96817 / 1階層)  Re[1]: 【VBA】現在の日付から過去の日付を引く
□投稿者/ 魔界の仮面弁士 (2964回)-(2021/02/16(Tue) 14:56:59)
No96815 (工場プログラマー さん) に返信
> 現在の日付からセル内に表示されている日付の差分を取得したいのですが

今日は 2021/02/16 ですよね。

たとえば A1 セルに「2021/02/05」という日付が入っているとして、
B1 セルを数値書式にして、B1 に「=TODAY()-A1」と書いておけば、「11」という日数が得られます。

ワークシート関数ではなく VBA でということであれば、
Debug.Print DateDiff("d", [A1].Value, Date)
で「11」を得られます。
[ 親 96815 / □ Tree ] 返信 編集キー/

▲[ 96817 ] / ▼[ 96823 ]
■96822 / 2階層)  Re[2]: 【VBA】現在の日付から過去の日付を引く
□投稿者/ 工場プログラマー (55回)-(2021/02/16(Tue) 15:56:56)
No96817 (魔界の仮面弁士 さん) に返信
> ■No96815 (工場プログラマー さん) に返信
>>現在の日付からセル内に表示されている日付の差分を取得したいのですが
>
> 今日は 2021/02/16 ですよね。
>
> たとえば A1 セルに「2021/02/05」という日付が入っているとして、
> B1 セルを数値書式にして、B1 に「=TODAY()-A1」と書いておけば、「11」という日数が得られます。
>
> ワークシート関数ではなく VBA でということであれば、
> Debug.Print DateDiff("d", [A1].Value, Date)
> で「11」を得られます。
年でもできますかね?
[ 親 96815 / □ Tree ] 返信 編集キー/

▲[ 96822 ] / ▼[ 96834 ]
■96823 / 3階層)  Re[3]: 【VBA】現在の日付から過去の日付を引く
□投稿者/ 魔界の仮面弁士 (2965回)-(2021/02/16(Tue) 16:47:38)
2021/02/16(Tue) 16:49:46 編集(投稿者)

No96822 (工場プログラマー さん) に返信
>> B1 セルを数値書式にして、B1 に「=TODAY()-A1」と書いておけば、「11」という日数が得られます。
> 年でもできますかね?

「=DATEDIF($A$1,TODAY(),"Y")」とすれば、経過年数を整数で得られます。
https://office-hack.com/excel/datedif/

VBA からは Evaluate メソッド経由で呼びだせます。
Debug.Print Application.Evaluate("DATEDIF($A$1, TODAY(), ""Y"")")
[ 親 96815 / □ Tree ] 返信 編集キー/

▲[ 96823 ] / 返信無し
■96834 / 4階層)  Re[4]: 【VBA】現在の日付から過去の日付を引く
□投稿者/ 工場プログラマー (56回)-(2021/02/17(Wed) 16:47:02)
解決しました。
解決済み
[ 親 96815 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -