アプリ版:「スタンプのみでお礼する」機能のリリースについて

ユーザーフォームに日付を表示させる方法を教えてください。そして、実行したあとでも日付が変わるようなプログラムを教えてください。VBAを使用しています

質問者からの補足コメント

  • フォームにタイマーコントロールを追加する方法が出来ません。やり方を教えていただけますか?すいませんが回答宜しくお願いします

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/02/23 12:48

A 回答 (4件)

過去の質問から勝手に推測すると、例えば


・問題の解答をセルに書き込みながら、且つ経過時間はリアルタイムで表示させたい
みたいなものを作りたいのかなって感じましたけど、外れてたのならNo.2は無視して下さい。

単にユーザーフォームに時間を表示させるだけなら検索しても見つかるので、もっと違うものかと思ってました。。。
考えすぎたかな?
一昔前にそんな質問を見かけたような覚えがあったもので。
    • good
    • 0

UserForm1上にラベルを1つ作成してください。

(Label1とします)

フォームモジュール上に、下記を作成します。

Private Sub UserForm_Initialize()
Call 時間表示
End Sub

標準モジュール上に下記を作成します。
Public Sub 時間表示()
UserForm1.Label1.Caption = Now
Call Application.OnTime(Now + TimeValue("00:00:10"), "時間表示")
End Sub

フォームを起動すると10秒間隔でラベルに時刻を表示します。
    • good
    • 0

>実行したあとでも日付が変わるようなプログラム



これって最低でもAM0:00を跨ぐようExcelを動かし続けるのでしょうか?
その間日付だけ表示してぼ~っとさせている訳ではないと感じますが、外れてますか?
感覚的には時計を表示させつつ本来の処理を行わせる感じなのかなと。

https://excel-ubara.com/vba_class/VBA_CLASS_06.h …
この辺の理解が必要になるかもですね。
一読されてみては?
どれだけ難しさがあるのか感じられるかもですよ。
その辺については上位?のVisualBasicやC#等の出番になるかなと推測ですが思います。
時計を別のアプリで表示させつつExcelを操作するって事でしょうか。
    • good
    • 1

VBAを使用して、ユーザーフォームに日付を表示する方法はいくつかありますが、以下のような方法があります。



ラベルコントロールを使用する方法
まず、フォームデザイナーでラベルコントロールをフォームに追加します。ラベルをダブルクリックして、ラベルのクリックイベントを開きます。次に、以下のコードを入力して、ラベルに現在の日付を表示します。

Private Sub Label1_Click()
Label1.Caption = Date
End Sub


テキストボックスコントロールを使用する方法
フォームデザイナーでテキストボックスコントロールを追加します。テキストボックスをダブルクリックして、テキストボックスのクリックイベントを開きます。以下のコードを入力して、テキストボックスに現在の日付を表示します。


Private Sub TextBox1_Click()
TextBox1.Value = Date
End Sub


実行したあとでも日付が変わるようなプログラムを作成するには、タイマーを使用することができます。以下は、1秒ごとに日付を更新する例です。

フォームにタイマーコントロールを追加します。
タイマーのIntervalプロパティを1000に設定します。これは、1秒ごとにタイマーイベントを発生させることを意味します。
フォームのタイマーイベントを開き、以下のコードを入力します。

Private Sub Timer1_Timer()
Label1.Caption = Date
End Sub

これで、フォームが開いたときから1秒ごとに日付が更新されます。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています