- ベストアンサー
和暦年が表示できない
- アクティブセルに和暦の年月日を表示する方法がわからない
- ユーザーフォームのTextBox2には和暦の年が2019と入力されており、ComboBox25には月が6、ComboBox26には日が26と入力されている
- 実行するとアクティブセルには西暦の年が表示されてしまうが、和暦の年が表示されるようにしたい
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No1,No3です。 文字列として入力するなら、 ActiveCell.Value = "‛" & TextBox2.Value & "/" & ComboBox25.Value & "/" & ComboBox26.Value としたらどうですか。
その他の回答 (3)
- molly1978
- ベストアンサー率33% (393/1186)
EXCELの日付データは内部的には西暦で持ち、表示上和暦にしています。 和暦の入らないデータを入れると、自動的に西暦に変換されてしまいます。表示だけなら、文字列データとして入れれば避けられると思います。 日付データとして扱いたいなら、西暦データを入力して、アクティブセルのプロパティを操作して和暦に変更すればできると思います。 ユーザー定義なら、[$-411]e"/"m"/"d で表示できます。 VBA上の操作を確認する時間がありませんので、よろしくお願いします。
お礼
molly1978 様 ありがとうございました。 解決しました。 今後ともよろしくお願いします。
- imogasi
- ベストアンサー率27% (4737/17069)
質問では >アクティブ「セル」!に和暦の年月日を表示したいの・・・となっている。 シートの「セル」のデータの見てくれ(決まった表示形式の結果)を希望していながら、掲示しているコードは、「コントロール」の1つである、テキストボックスのデータの表示形式(Format)ばかり、で、ピントがずれていませんか?文字列で返されるものばかり。 テキストボックスの値は、当然テキストでしかないので、これをセルに好みの見てくれで表示したいなら、 テキストボックスのテキストデータ→日付シリアル値に変換(注)→シートの、そのセルの表示形式を好みに設定セルにセルの値(日付シリアル値=整数値です)を代入 というプロセス(考え方)が必要ではないか。 (注)DateSerial巻数など。 https://www.tipsfound.com/vba/05dateserial ほか多数 ーー エクセルのシートでの日付の関係は、日付シリアル値の仕組の理解や、それへの変換と、それを前提にした、(多様な、エクセルの)表示形式の活用である。 このことを理解せずに、VBA路線のコードの書き方の勉強ばかりしても不十分だと思う。
お礼
imogasi 様 ありがとうございました。 解決しました。 今後ともよろしくお願いします。
- molly1978
- ベストアンサー率33% (393/1186)
アクティブセルの書式設定が和暦になってないからです。
お礼
molly1978様 ありがとうございました。 解決しました。 今後ともよろしくお願いします。
補足
molly1978様 早速の回答ありがとうございます。 下記のように和洋歴を切り替えてアクティブセルに入力したいのですが この場合はアクティブセルの書式設定を、和暦西暦に切り替えるにはどうしたらよいのでしょうか。 Private Sub ComboBox1_Click() If ComboBox1.Caption = "和暦" Then Frame2.Visible = True TextBox2.Value = Format(Now, "e") ComboBox1.Caption = "西暦" Then ElseIf ComboBox1.Caption = "西暦" Then Frame2.Visible = False TextBox2.Value = Format(Now, "yyyy") ComboBox1.Caption = "和暦" Else End If End Sub
お礼
No1,No3様 ありがとうございました。 これで解決しました。 これからもよろしくお願いします。