プロが教える店舗&オフィスのセキュリティ対策術

西暦から和暦に変換する関数をVBAで作りたい(昭和と平成だけ)のですが
良くわかりません。どなたか教えて頂けませんか?

A 回答 (5件)

>まずこの問題は学校の宿題です。


学校の宿題など丸投げ的質問はOKWEB規約違反では。
>自分が使える関数は、「引数付きの関数」「IF文」「ElseIF」「SELECT文」位です。
そんなこと、当初の質問のどこにも書いてないじゃないですか。
もう少し解答候補者のことも考えて、質問すべし。
エクセルやそのVBAは一般にビジネス用です。便利な関数があればどんどん使うものですよ。わざわざ低レベルのコーディングを使うことはしない。
    • good
    • 1

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部)・大正・昭和・平成で大丈夫ですし。

この回答への補足

みなさん早速解答ありがとうございます。補足させて頂きます。
・まずこの問題は学校の宿題です。
・自分が使える関数は、「引数付きの関数」「IF文」「ElseIF」「SELECT文」位です。
・ワークシートは、作った関数がきちんと動いているか試すだけなので何も書いてません。
最後に、書き忘れていたのですが、ヒントに
「a=10、b="第”&a&"回大会”とするとbには「第10回大会」とはいる。」がありました。
これで宜しくお願いします。

補足日時:2005/01/10 12:39
    • good
    • 0

VBAでなくともワークシート関数はあります。


=TEXT(A1,"ggge年m月d日")
ではいけないでしょうか。
    • good
    • 0

余計なお世話かも知れませんが、書式設定で表示方法を和暦にすれば、済むのでは?


わざわざ関数にする意図が分かりません。具体的にどういう数字(日付)を与えて、結果としてどういうものが欲しいのか、それをどう使うのか、教えてもらえませんか?
    • good
    • 0

もし、西暦の日付も和暦の日付も文字列型(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回大会」とはいる。」がありました。
これで宜しくお願いします。

補足日時:2005/01/10 12:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!