Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Pro : Excel 2016)
新暦を旧暦に変換したいが無理ですかね?
投稿日時: 23/02/07 21:24:08
投稿者: 銀泉台

ChatGPTを使って「VBAで新暦の日付を旧暦に変換するには」と質問したら
以下のコードが返ってきましたが、実行したらエラーを吐いてしまいました。
Excel VBAで新暦の日付から旧暦の日付を計算で得るのは無理でしょうか?
以下の文章がChatGPTが作った解説と例文です。
 
VBAで新暦の日付を旧暦に変換するには、内蔵の「LunarCalendar」オブジェクトを使うことができます。以下が例のコードです。
 

Dim MyLunarCalendar As New System.Globalization.ChineseLunarCalendar
Dim year As Integer, month As Integer, day As Integer
year = 2022
month = 12
day = 30

Dim lunarYear As Integer, lunarMonth As Integer, lunarDay As Integer
lunarYear = MyLunarCalendar.GetYear(New Date(year, month, day))
lunarMonth = MyLunarCalendar.GetMonth(New Date(year, month, day))
lunarDay = MyLunarCalendar.GetDayOfMonth(New Date(year, month, day))

MsgBox "Lunar Date: " & lunarYear & "-" & lunarMonth & "-" & lunarDay

 
この例では、2022年12月30日の新暦の日付を旧暦に変換し、その結果をメッセージボックスで表示しています。

回答
投稿日時: 23/02/07 21:36:22
投稿者: simple

エラーになったのなら、その理由をChatGPTに聞いてください。

投稿日時: 23/02/07 23:34:35
投稿者: 銀泉台

自己解決しました。