- ベストアンサー
エクセルのユーザーフォームの日付を和暦で表示したい
いつもお世話になります。 エクセルのユーザーフォーム作成に初めて挑戦しております。 ワークシートに日付の元データがあり、ユーザフォームにテキストボックスを配置しその日付データを表示させています。(例:2006/8/3) やりたいことは、そのユーザーフォームにもうひとつ別のテキストボックスを作成し上記の日付データを和暦で自動的に表示させたいのです。(例:上記のテキストボックスが2006/8/3の場合、こちらのテキストボックスはH18.8.3と表示) 初心者ですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
前者をTextBox1、後者をTextBox2とするなら Private Sub TextBox1_Change() If IsDate(TextBox1) Then TextBox2 = Format(TextBox1, "ge.m.d") Else TextBox2 = "" End If End Sub
その他の回答 (1)
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 文の方がコードが最適化されると思います。
質問者
お礼
早速のご回答ありがとうございました。 AfterUpdate イベントについても勉強させていただきます。 これからもご教授よろしくお願いします。
お礼
早速のご回答ありがとうございました。 思い通りにできました。これからもご教授よろしくお願いします。