- 締切済み
西暦から和暦に変換する関数を作る
西暦から和暦に変換する関数をVBAで作りたい(昭和と平成だけ)のですが 良くわかりません。どなたか教えて頂けませんか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>まずこの問題は学校の宿題です。 学校の宿題など丸投げ的質問はOKWEB規約違反では。 >自分が使える関数は、「引数付きの関数」「IF文」「ElseIF」「SELECT文」位です。 そんなこと、当初の質問のどこにも書いてないじゃないですか。 もう少し解答候補者のことも考えて、質問すべし。 エクセルやそのVBAは一般にビジネス用です。便利な関数があればどんどん使うものですよ。わざわざ低レベルのコーディングを使うことはしない。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAの中で関数が使えますよ。例えばVBAにおけるワークシート関数でTEXT関数。 Sub test01() Cells(3, 1) = #1/10/2005# Cells(3, 2) = WorksheetFunction.Text(Cells(3, 1), "ggge年mm月dd日") End Sub 2005/1/10--->平成17年01月10日 これなら明治(1部)・大正・昭和・平成で大丈夫ですし。
VBAでなくともワークシート関数はあります。 =TEXT(A1,"ggge年m月d日") ではいけないでしょうか。
- DoragonFang
- ベストアンサー率41% (91/221)
余計なお世話かも知れませんが、書式設定で表示方法を和暦にすれば、済むのでは? わざわざ関数にする意図が分かりません。具体的にどういう数字(日付)を与えて、結果としてどういうものが欲しいのか、それをどう使うのか、教えてもらえませんか?
- shkwta
- ベストアンサー率52% (966/1825)
もし、西暦の日付も和暦の日付も文字列型(String)であれば、Format関数とDateValue関数を使えばOKです。 Dim strWareki As String Dim strSeireki As String ・・・・・ strWareki = Format(DateValue(strSeireki),"ggge年mm月dd日")
補足
みなさん早速解答ありがとうございます。補足させて頂きます。 ・まずこの問題は学校の宿題です。 ・自分が使える関数は、「引数付きの関数」「IF文」「ElseIF」「SELECT文」位です。 ・ワークシートは、作った関数がきちんと動いているか試すだけなので何も書いてません。 最後に、書き忘れていたのですが、ヒントに 「a=10、b="第”&a&"回大会”とするとbには「第10回大会」とはいる。」がありました。 これで宜しくお願いします。
補足
みなさん早速解答ありがとうございます。補足させて頂きます。 ・まずこの問題は学校の宿題です。 ・自分が使える関数は、「引数付きの関数」「IF文」「ElseIF」「SELECT文」位です。 ・ワークシートは、作った関数がきちんと動いているか試すだけなので何も書いてません。 最後に、書き忘れていたのですが、ヒントに 「a=10、b="第”&a&"回大会”とするとbには「第10回大会」とはいる。」がありました。 これで宜しくお願いします。