[[20180812121905]] 『VBAでtxt1とtxt2の差年月を別txtに表示したいです』(mrk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでtxt1とtxt2の差年月を別txtに表示したいです。』(mrk)

エクセルVBAについての質問です。

txt引渡し日からtxt問合せ日の差の年月を別のtxt内に『〇年〇ヶ月』と表記するにはどのように行えばよいのでしょうか。

今まで、エクセルのセル内には下記関数にて自動入力されるようにしていました。
=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"ヶ月"

行いたい内容を途中まで作成しました。

Private Sub txt経過年月_Change()

If txt引渡し日.Text = "" Then
txt経過年月.Text = ""
Else
txt経過年月.Text = _

この後に入れる内容が分かりません。

自動に経過年月を計算したいのですが、現在からの経過年数では無い為、二つの計算をどのように指示をしたら良いものかわからない状況です。

ご教授いただけますと幸いです。
よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


DateDiff関数
http://officetanaka.net/excel/vba/function/DateDiff.htm

(マナ) 2018/08/12(日) 12:49


マナ様
ご回答ありがとうございます。
いただきましたHP内容にて作成しましたが、入力されません。

追加質問として、ご回答いただくことは可能でしょうか。

Private Sub txt経過年月_Change()

    If Me.txt引渡し日.Text = "" Then
    Me.txt経過年月.Text = ""
    Else

    Dim Date1 As Date, Date2 As Date
    Date1 = (Me.txt引渡し日.Text)
    Date2 = (Me.txt問合せ日.Text)
    Me.txt経過年月.Text = _
    Application.DateDiff("m", Date1, Date2)

End Sub

txt内の数字を計算するには、上記指示では上手くいかないのでしょうか。

よろしくお願いいたします。
(mrk) 2018/08/12(日) 15:35


>Application.DateDiff

どこを参考にしましたか?
リンク先では、単にDateDiffですが。

つけるなら、VBA.DateDiff
でも必要ないです。

(マナ) 2018/08/12(日) 19:48


わたしなら、こんな感じにするかも?

作業用シートを用意し
1)A1に数式:=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"ヶ月"
 ※実際はエラー処理も数式で対応するとよいです
で、以下をマクロ
2)txt引渡し日とtxt問合せ日からシートに転記
3)A1から、txt経過年月に転記

(マナ) 2018/08/12(日) 19:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.