- ベストアンサー
エクセルVBAで日付の形式表示が出来ません
エクセル2000です。 sheet(1)のセルに日付データが代入されています。 そのデータををsheet(2)のセルに代入し、"NumberFormat"を使い表示形式を「**年**月**日」と設定しましたが実際のセルには左詰めで「**/**/**」と表示されてしまいます。 「**年**月**日」と表示させるにはどうしたらいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2ですが、一部間違えました(^^;;; Worksheets(2).Range("C" & mM).FormulaR1C1 = _ Worksheets(1).Range("B" & iI).Value Worksheets(2).Range("C" & mM).NumberFormat = _ "ggge年m月d日" ではなく、正しくは Worksheets(2).Range("C" & mM).NumberFormat = _ "ggge年m月d日" Worksheets(2).Range("C" & mM).FormulaR1C1 = _ Worksheets(1).Range("B" & iI).Value です。
その他の回答 (2)
- wildcard
- ベストアンサー率54% (54/100)
もしかすると日付データの入っている列が、文字列形式なのでは?その場合は下記のコードでokだと思います。 Sub Test() Dim mM As Integer, iI As Integer, endLine As Integer mM = 1 endLine = Worksheets(1).Range("A65536").End(xlUp).Row For iI = 1 To endLine Worksheets(2).Range("B" & mM & ":E" & mM).Value = _ Worksheets(1).Range("A" & iI & ":D" & iI).Value Worksheets(2).Range("C" & mM).FormulaR1C1 = _ Worksheets(1).Range("B" & iI).Value Worksheets(2).Range("C" & mM).NumberFormat = _ "ggge年m月d日" mM = mM + 1 Next iI End Sub
- papayuka
- ベストアンサー率45% (1388/3066)
Sheet1のA1に日付データがあるとして、 Sub Test() With Worksheets("Sheet2").Range("A1") .NumberFormat = "ggge年m月d日" .Value = Worksheets("Sheet1").Range("A1").Value End With End Sub でどうでしょう?
補足
すみません説明が不十分でした。 下記のプロシージャを実行すると、Worksheet(2)のC列が形式表示されないのです。 Sub Test() Dim mM As Integer, iI As Integer, endLine As Integer mM = 1 endLine = Worksheets(1).Range("A65536").End(xlUp).Row For iI = 1 To endLine Worksheets(2).Range("B" & mM & ":E" & mM).Value = _ Worksheets(1).Range("A" & iI & ":D" & iI).Value Worksheets(2).Range("C" & mM).NumberFormat = _ "ggge年m月d日" mM = mM + 1 Next iI End Sub
お礼
ありがとうございます、出来ました。