• ベストアンサー

ただ、今日の日付を求めたいときはどちらのVBAコー

VBA初心者のため教えてほしいのですが ただ、今日の日付を求めたいときはどちらのVBAコードを使えばいいですか? Sub test1() MsgBox DateValue(Date) End Sub Sub test2() MsgBox Date End Sub です。 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

MsgBox Date です。 Date はお使いのコンピュータの時計から情報をとります。 DateValue() は文字列を日付にします。 ()内は文字列でバリアント型になるのですが、日付型を入れることもできます。 従ってDateValue(Date)でも出ますが、Date自体で今日の日付が出るので 記述が長くなるだけです。

zsea74g6
質問者

お礼

DateValue() は文字列を日付にするのですね。 ありがとうございました。

関連するQ&A

  • vb.net 今日の日付を取得

    vb.net 今日の日付を取得 vbaの Sub vba() MsgBox Date End Sub をvbでやるとどうなるのでしょう? Private Sub Button1_Click(ByVal s MessageBox.Show date End Sub だと、 エラー 1 'Date' は型です。有効な式ではありません。 エラー 2 メソッドの引数は、かっこで囲む必要があります。 エラー 3 '.' が必要です。 と、3つのエラーになります。 ご教授よろしくお願い致します。

  • エクセルVBAで日付計算

    Sub test01() x = Date - 38383 '2005/01/31から今日まで何日 x = Format(x, "##") '数字であらわす MsgBox x & "日です。" End Sub 試行錯誤の結果、上記コードで特定の日から今日まで何日かわかるようになりましたが、とても不細工なコードだと思います。 もっとすんなりもとめるにはどうすればよいでしょうか?

  • VBAのDateの違い

    VBAのDateの違いについてわからないので教えてください。 MsgBox Date MsgBox DateValue(Date) この二つは 2009/5/18 と同じ結果が返るのですが 何が違うのでしょうか? 「こういうときはこっちを使ったほうがいい!」 と言うのがあったら知りたいです。 また MsgBox Date$ は 2009-5-18 で Stirng型でした。 多分これは日付を文字列型で返したいときに使うのだと思います。(多分、、、) よろしくお願いします。

  • VBA ある日付の指定

    やりたいこと 例:今日の日付が4/1ならA1セルに『A』という文字を入れる というIF文を書きたいのですができません。 この場合、2022/4/1という限定的な指定方法ではなく 4/1なら(2023年や2024年でも指定できる)という形で コードを書きたいのですができませんでした。 すいませんが回答よろしくお願い致します。 sub test() if date = 4/1 then  range("A1").value="A" end if end sub

  • エクセル VBA 今日の日付を変数にする

    いつまでたってもVBA初心者のものですが 前回は、セルに入力されている日付を変数に利用する場合のことを 聞かしていただいたのですが 今回は、今日の日付を変数に利用する場合はどうすればいいのでしょう? Sub Today() Dim i As String i = Day(Today()) Range("A1").Value = i End Sub こんな感じなんですけど上手くいきません 何から何まで頼りっきりですが、よろしくお願いします

  • VBA アクティブセルに1行目の日付を入力したい

    こんにちは、VBA初心者です。 アドバイスお願いします。 1行目に日付が入力してあります。 任意のセルを選択し、マクロを実行すると1行目の日付(日のみ)がそのセルに入力されるマクロを作っています。 例えば、    A       B      C 1 2008/11/1  2008/11/2  2008/11/3 2 3 4          2  5 セルB4を選択して実行するとB4に2が入力され、セルC3を選択して実行するとC3に3と入力するようにしたいです。 私なりに考えたのが下記のコードです。 Sub アクティブセルに1行目の日付を入力() Dim hidukesyutoku As Byte Dim dd As Date dd = Date Do While ActiveCell.Value <> dd ActiveCell.Offset(-1).Activate hidukesyutoku = hidukesyutoku + 1 Loop ActiveCell.Copy Destination:=ActiveCell.Cells(hidukesyutoku + 1, 1) End Sub Do Whileを使って日付があるまでアクティブセルをオフセットしていくというものですが、このコードのままでは、dd=dateとなっているため今日の日付にしか反応しません。 今日だけではなく、日付というだけで反応するようにするにはどうしたらいいでしょうか? また、このコードは、処理にも時間がかかりあまりいいものではないと思います。(初心者の私では、これが限界でした。) もっと早いコードの作り方があれば教えて下さい。

  • Functionとsub どちらを使った方がいいで

    Functionとsub どちらを使った方がいいですか? VBA初心者です。 ------------------------ Sub test1() MsgBox "testです" End Sub Function test2() MsgBox "testです" End Function ------------------------ どちらのコードも結果は同じです。 基本的に、マクロを組む時は、Functionとsubとどちらを使った方が良いのでしょうか? ------------------------ Sub tset3() MsgBox test4 End Sub Function test4() test4 = "testです" End Function ------------------------ のように戻り値・返り値がある場合のみFunctionを使うべきなのでしょうか? ご回答よろしくお願いします。

  • MsgBoxの中にある数字や日付の書式指定をしたい

     ExcelVBAで、MsgBoxの中の数字や日付の書式を指定したいのですが、可能でしょうか。例えば… Sub MsgBoxのTest() dim Test Test = 1000000 MsgBox "Testの数値は " & Test & "です" End Sub  という具合に書くと、MsgBoxの中の数字は、1000000 となるのですが、これを数字の部分だけ、1,000,000 というように書式を設定したいのです。  不可能であれば、その旨お教えいただけると助かります。  よろしくご教授ください。

  • 今の自分の年齢を取得するvbaコードが知りたい

    今の自分の年齢を取得するvbaコードが知りたいのですが Sub test1() Dim dtm誕生日 As Date dtm誕生日 = #7/1/1986# MsgBox Format(Date - dtm誕生日, "yyyy/mm/dd") MsgBox DateDiff("yyyy", dtm誕生日, Date) End Sub を作ってみたのですが 違うのが返りました。 DateDiff("yyyy", dtm誕生日, Date) は、30が返ってしまいます。 今日の時点ではまだ29歳なのですが そういう場合どうすればいいでしょうか? 「現在は29歳です」と返したいのですが、 どのようにすればいいでしょうか?

  • 日付のエラー

    aspx(vbscript)でプログラムを作っています。 ある申請書を作っているのですが、その中で テキストボックスに日付を入力して、その日付が[今日]より 前だとエラーになるというコードを作りたいのですが、 If Trim(textbox1.value) <>"" and Datevalue(textbox1.value) < Date Then msgbox "日付が違います。" End If としたのですが、テキストボックスに何も入力しないとエラーになって動いてくれません。テキストボックスに入力すればちゃんと動きます。 この項目は必須項目ではないのでテキストボックスに入力せずに申請する場合もあるので困っています。どのようにすればちゃんと動作してくれるのでしょうか。  

専門家に質問してみよう