[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付変更について』(なはなは)
初めまして、vbaの初心者です。
データの整形をしておりまして、教えてください。
日付を変更したいです。データは、「yyyy/m/d」と「yyyy/m/d h:m」の二つです。
・yyyy/m/d ⇒ yyyy/mm/dd
・yyyy/m/d h:m ⇒ yyyy/mm/dd hh:mm
B列とC列ともに3000行くらいあります。
|[A] |[B] |[C] [1]|項目1 |項目2 |項目3 [2]| |2022/3/4 |2022/3/4 8:51 [3]| |2022/7/20 |2022/7/7 9:30 [4]| |2022/9/8 |2022/8/22 15:08 [5]| |2022/3/2 |2022/7/5 15:08 [6]| |2022/8/11 |2022/6/16 5:50
< 使用 Excel:Office365、使用 OS:Windows10 >
=TEXT(B2,"yyyy/mm/dd") とか =TEXT(C2,"yyyy/mm/dd hh:mm") とか でいいんじゃないでしょうか?
(白茶) 2022/11/10(木) 10:11:42
その列を選択して表示形式を変更する。 これをマクロの記録でどのようなコードになるかを確認してはどうだろうか? (ねむねむ) 2022/11/10(木) 11:28:54
日付データを文字列に変換したいということだろうか? (ねむねむ) 2022/11/10(木) 11:58:42
無理やり文字列にしてみました。
他にスマートなやり方があると思います。
Sub test()
Dim i As Long Dim v As Variant For i = 2 To 6 Cells(i, 2).NumberFormatLocal = "yyyy/mm/dd" Cells(i, 3).NumberFormatLocal = "yyyy/mm/dd hh:mm" Next v = Range("B2:C6") Range("B2:C6").NumberFormatLocal = "@" Range("B2:C6") = v For i = 2 To 6 Cells(i, 2) = Format(Cells(i, 2), "yyyy/mm/dd") Cells(i, 3) = Format(Cells(i, 3), "yyyy/mm/dd hh:mm") Next End Sub
>日付の種類には、yyyy/mm/dd hh:mmはありません。 >一度、確認してから教えていただけないでしょうか。 日付の種類に時刻入りもありますけど...... (フォーキー) 2022/11/10(木) 12:41:04
検索して分からない、だと聞いても分からない気もするが・・・
A1に日付データ(シリアル値)が入っているとして
Format(Rnage("A1").Value,"yyyy/mm/dd")
で"yyyy/mm/dd"の文字列になります。
(ngk) 2022/11/10(木) 12:43:03
上記で試してみたいと思います。
日付の種類についてですが、時刻もありますが、
yyy/mm/dd hh:mmにはならないんです。
(なはなは) 2022/11/10(木) 12:53:56
Format(Range("C2").Value, "yyyy/mm/dd hh:nn") ^^ でないかな? (通りすがり助六) 2022/11/10(木) 12:58:49
mまたはmmだけだと月だがhの後に来た場合は分と判断されるのでhh:mmでも構わない。 (ねむねむ) 2022/11/10(木) 13:09:30
ねむねむさん そうなんですね。知りませんでした・・。 勉強になります。 (通りすがり助六) 2022/11/10(木) 13:35:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.