• ベストアンサー

エクセルのユーザーフォームの日付を和暦で表示したい

いつもお世話になります。 エクセルのユーザーフォーム作成に初めて挑戦しております。 ワークシートに日付の元データがあり、ユーザフォームにテキストボックスを配置しその日付データを表示させています。(例:2006/8/3) やりたいことは、そのユーザーフォームにもうひとつ別のテキストボックスを作成し上記の日付データを和暦で自動的に表示させたいのです。(例:上記のテキストボックスが2006/8/3の場合、こちらのテキストボックスはH18.8.3と表示) 初心者ですが、よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

前者をTextBox1、後者をTextBox2とするなら Private Sub TextBox1_Change() If IsDate(TextBox1) Then TextBox2 = Format(TextBox1, "ge.m.d") Else TextBox2 = "" End If End Sub

haasan99
質問者

お礼

早速のご回答ありがとうございました。 思い通りにできました。これからもご教授よろしくお願いします。

その他の回答 (1)

noname#22222
noname#22222
回答No.2

AfterUpdate イベントも試したらどうでしょう! Changeイベントとの違いが判ります。 Private Sub TextBox1_AfterUpdate()   Me.TextBox2 = IIf(IsDate(TextBox1), Format(TextBox1, "ge.m.d"), "") End Sub なお、一見すると、No.1さんの回答よりスッキリしているようですが・・・。 多分、コンパイルした場合、If Then - Else 文の方がコードが最適化されると思います。

haasan99
質問者

お礼

早速のご回答ありがとうございました。 AfterUpdate イベントについても勉強させていただきます。 これからもご教授よろしくお願いします。

関連するQ&A

専門家に質問してみよう