[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームにて』(&)
いつもお世話になって下ります。 毎々、この掲示板にて質問させていただき、私の作成しているユーザーフォーム も完成に近づいてきました。
そこで、またまた疑問にぶつかってしまったのですが・・・
ユーザーフォームにてある日付までの期間の算出などできますでしょうか?
具体的に書きますと・・・
textbox1 に 今日の日付 textbox2 に 完成予定日 が入力されると、textbox3 に今日から完成までの期間が表示されるように したいなと考えているのですが、関数などを使って計算できるものでしょうか?
よろしくお願いします。
テキストボックスの中の日付は文字列なので シリアル値に変換する「DateValue()」を使ってその差を求めると日数がでます。 詳細はVBAのヘルプを見てください。
日数=DateValue(完成予定日)-DateValue(今日の日付) (やっちん)
(やっちん)さんありがとうございます。 DateValueを利用して実行すると 実行時エラーで「型が一致しません」となってしまうのです・・・
今日の日付 完成予定日 共に入力後format関数を利用して testbox1.value=format(textbox1,"yy/mm/dd(aaa)") と表示させています。 これが原因なのでしょうか?
ヘルプを見る事が出来なくてきちんと調べられていないのですが・・・ すみません
(&)
すみません! 今、formatを外して実行するとうまくいきました・・・ やはり書式を変えてしまうとだめなんですね・・・
表示形式だけをかえて計算する事はできるものなんでしょうか?
(&)
Dim 日1 As String
Dim 年 As String
Dim 月 As String
Dim 月1 As String
Dim 月2 As String
Dim 仮定1 As String
Dim 西暦 As String
If ComboBox1 = "" And ComboBox2 = "" And ComboBox3 = "" Then
MsgBox ("下さい。") Exit Sub End If
日 = Format(TextBox1, "dd")
年 = Format(TextBox1, "ee")
西暦 = Left(TextBox1, 4)
月 = TextBox1
月1 = Left(月, 7)
月1 = Right(月1, 2)
月日 = Right(TextBox1, 5)
If Left(月1, 1) = "0" Then
月1 = Right(月1, 1) 月2 = " " + 月1 Else 月2 = 月1 End If 日 = Right(月, 2) If Left(日, 1) = "0" Then 日 = Right(日, 1) 日1 = 日 日 = " " + 日 Else 日1 = 日 End If (4ku8ku)
テキストボックスの中の日付のすぐ後ろが括弧付きなのであれば 括弧の前の日付だけを取り出せばできると思いますよ。 日数=DateValue(Left(完成予定日, InStr(完成予定日, "(") - 1)) - _ DateValue(Left(今日の日付, InStr(今日の日付, "(") - 1)) (やっちん)
例えばの話・・・ Private Sub TextBox2_AfterUpdate() If TextBox1.Text = "" And TextBox2.Text = "" Then Exit Sub TextBox3.Text = DateDiff("d", TextBox1.Text, TextBox2.Text) end sub
なんかは有効かと・・・ アカンかいなぁ。
みなさまたくさんアドバイスをいただいていたのに返信が遅くなり すみませんでした! いつも丁寧にありがとうございます。
無事にやっちんさんのleftで解決しました!! 最後にDateDiff の例もいただいていたので実行してみたのですが、 同じく実行時エラーで「型が一致しません」となってしまいました・・・
(&)
エラーがでるんはTextBox2を消去してEnterキーを押したばやいでっか? ほんならこれでやってみておくんなはれ。 TextBox1と2には 4/5 とか5月4日といった塩梅(2006/4/5でもOK)に 書き込んでくらはい。5.6 とか4.8いうのはあきまへん。 (弥太郎)
Private Sub TextBox2_AfterUpdate() On Error Resume Next TextBox3.Text = DateDiff("d", TextBox1.Text, TextBox2.Text) & " 日" If TextBox2.Text = "" Or TextBox1.Text = "" Then TextBox3.Text = "" End If On Error GoTo 0
End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.