[[20200509154153]] 『format関数の使い方』(ヨッシー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『format関数の使い方』(ヨッシー)

A列に「H25.4.25」という生年月日データが入っています。それを和暦表示にしようとして、次のようなコードを作りましたが何も変化がありません。どうしてでしょうか。

Sub Macro()
 Dim i As Long

  For i = 1 To Cells(Rows.Count,1).End(xlUp).Row
      Cells(i,1)=Format(Cells(i,1),"ggge年mm月dd日")
  Next i
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


該当セルの書式が文字列となっているのではないでしょうか。
手動で書式を日付に変更すると、表示が変わりますか?
(tkit) 2020/05/09(土) 16:07

手動で「表示形式」タブで変更するとできます。
(ヨッシー) 2020/05/09(土) 16:22

>手動で「表示形式」タブで変更するとできます。

もう1点確認です。
該当ブックのみ開いていて、A列の「H25.4.25」のセルを選択した状態で、
VBEのイミディエイトウィンドウに以下を記述し、エンターを押すと
平成25年04月25日 が返ってきますか?

 ?Format(ActiveCell.Value,"ggge年mm月dd日")
(tkit) 2020/05/09(土) 16:33

 生年月日データだけでは、良く解りません。
 日付(シリアル値)でなく文字列にしたいと言うことなんでしょうか?

 確認、日付とは、どのようなものと考えてますか?
 = その日付が入ったセル + 1
 とすると、どうなりますか?

 単純に表示形式を変えるだけなら、format関数関数ではありませんし、
 セル範囲を選択して、表示形式を変えるだけです。
 マクロが必要とは思えません。

(BJ) 2020/05/09(土) 16:47


 >手動で「表示形式」タブで変更するとできます。

 ああ、ちゃんと書いてあった。
 だったらそれで良いと思いますけど。
(BJ) 2020/05/09(土) 17:30

表示形式を変更する場合は、

 Cells(i,1)NumberFormatLocal = "ggge年mm月dd日"

かなと。

Excelが勝手にシリアル値に変換しちゃうからですね。
(tkit) 2020/05/09(土) 17:42


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.