こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

Excel 日付変換をマクロで2

24/5/1→2012/5/1
28/10/30→2016/10/30
27/6→2015/6/00

右のように変換するためにいつもは
=IFERROR(CHOOSE(LEN(G10)-LEN(SUBSTITUTE(G10,"/",)),TEXT(("H"&G10&"/1")+0,"yyyy/m")&"/00",TEXT(("H"&G10)+0,"yyyy/m/d")),"")

という関数で変換していましたがどうしてもマクロでやりたいので教えてください。

※日付が入力されている場所は毎回変わり行の長さも違うので自分で変換したい範囲を
選択してから実行したいです。
27/6のように日が入ってない場合は00をできれば入れたいが無理なようであれば
なくてもかまいません。

投稿日時 - 2016-01-28 09:41:08

QNo.9118281

困ってます

質問者が選んだベストアンサー

参考に
Dim c As Range, v As Variant
For Each c In Selection
  v = Split(c.Text, "/")
  If UBound(v) = 2 Then
    c.NumberFormatLocal = "yyyy/m/d"
    c.Value = DateValue("H" & c.Text)
  ElseIf UBound(v) = 1 Then
    c.Value = v(0) + 1988 & "/" & v(1) & "/00"
  End If
Next

投稿日時 - 2016-01-28 10:33:59

お礼

素晴らしいです。
ありがとうございます。出来ました!

投稿日時 - 2016-01-28 11:17:20

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-