• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA publicで日付が呼び出せない)

VBAでユーザーフォームのテキストボックスに初期値の日付を表示させる方法

このQ&Aのポイント
  • VBAでユーザーフォーム上のテキストボックスに初期値として日付を表示させる方法を解説します。
  • さらに、ユーザーがテキストボックスの値を任意で変更し、最終的な値を変数に格納するマクロの作成方法も紹介します。
  • また、初期値のままで実行した場合に値がセルに反映されない問題を回避するための対処方法も説明します。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> このエラーを回避し、初期値の場合でも値がきちんとセルにセットされるように > するには、どうしたらよいでしょうか? Initializeイベントで、Date関数の結果をテキストボックスに直接セットする代わりに、 一旦変数に対して関数の結果を受けておき、それをテキストボックスにセットすれば、 ご希望の動作になるかと思います。 Private Sub UserForm_Initialize()   '今日の日付をPublic変数に記録   '(変数の型がDate型のようなので、ここではFormat関数は適用せず)   DenpyouDate = Date()   '上記変数に受けた値を、テキストボックスにセット   TextBox2.Text = Format$(DenpyouDate, "yyyy/mm/dd") End Sub

kentaroror
質問者

お礼

回答ありがとうございます。 お教えいただいた方法で解決しました。

その他の回答 (1)

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

こんばんは。 Public DenpyouDate As Date は、どこで宣言していますか? 標準モジュールで宣言してください。 下記の参考URLを参照してください。

参考URL:
http://home.att.ne.jp/zeta/gen/excel/c04p10.htm
kentaroror
質問者

お礼

回答ありがとうございます。

関連するQ&A

専門家に質問してみよう