Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7983 / 13644 ツリー ←次へ | 前へ→

【35710】日付型への変換について よう 06/3/10(金) 18:49 質問[未読]
【35711】Re:日付型への変換について BB 06/3/10(金) 19:06 発言[未読]
【35712】Re:日付型への変換について よう 06/3/10(金) 20:01 発言[未読]
【35716】Re:日付型への変換について よう 06/3/10(金) 20:43 質問[未読]
【35717】Re:日付型への変換について tora 06/3/10(金) 20:52 回答[未読]
【35718】Re:日付型への変換について よう 06/3/10(金) 21:00 お礼[未読]
【35720】Re:日付型への変換について Kein 06/3/10(金) 21:41 回答[未読]
【35724】Re:日付型への変換について tora 06/3/10(金) 23:25 発言[未読]

【35710】日付型への変換について
質問  よう  - 06/3/10(金) 18:49 -

引用なし
パスワード
   いつもお世話になってます。

質問があります。
現在、”平成18/03/10”という形で
データを持っています。
これが、大正・昭和・平成であります。
これを”yyyy/mm/dd”形式に変換したいのですが、
なにか良い方法はありますでしょうか?

ちなみにですが、マクロ等は度素人の為、
そのようなものを使う場合は、
面倒だとは思いますが、ソース全て
貼り付けて下さい。

よろしくお願い致します。

【35711】Re:日付型への変換について
発言  BB  - 06/3/10(金) 19:06 -

引用なし
パスワード
   ▼よう さん:
>現在、”平成18/03/10”という形で
>データを持っています。
データを持っているとは?

>これが、大正・昭和・平成であります。
>これを”yyyy/mm/dd”形式に変換したいのですが、
Format関数が使えませんか?

>ちなみにですが、マクロ等は度素人の為、
>そのようなものを使う場合は、
>面倒だとは思いますが、ソース全て
>貼り付けて下さい。
なぜ素人だとソース全てを貼り付けてもらいたいんですか?
むしろ素人だからこそ、ヒントをもらって自分で考えるべきでは?

【35712】Re:日付型への変換について
発言  よう  - 06/3/10(金) 20:01 -

引用なし
パスワード
   >データを持っているとは?
EXCEL上、”平成18/03/10”(文字列型)の形で
データが入ってます。

>Format関数が使えませんか?
Format関数を使用すれば、”平成18/03/10”を"YYYY/MM/DD"に
変換できるんですね。

>なぜ素人だとソース全てを貼り付けてもらいたいんですか?
>むしろ素人だからこそ、ヒントをもらって自分で考えるべきでは?
はい。
Format関数とやらで、考えてみます。

【35716】Re:日付型への変換について
質問  よう  - 06/3/10(金) 20:43 -

引用なし
パスワード
   format関数にて以下で変換できるのはわかりました。
YYYYMMDDをYYYY/MM/DD : @@@@/@@/@@ : 20021128->2002/11/28
西暦を和暦 : GGGEE\年MM\月DD\日 : 2002/11/28->平成14年11月28日
和暦を西暦 : YYYY\年MM\月DD\日 : 平成14年11月28日->2002年11月28日

ですが、”平成YY/MM/DD”という特殊な日付を
どのように”YYYY/MM/DD”の日付型へ変換できるのでしょうか?
「ヒント」を教えてください。

【35717】Re:日付型への変換について
回答  tora  - 06/3/10(金) 20:52 -

引用なし
パスワード
   >これを”yyyy/mm/dd”形式に変換したいのですが、
>ですが、”平成YY/MM/DD”という特殊な日付を
>どのように”YYYY/MM/DD”の日付型へ変換できるのでしょうか?

出来ますよ。独自の関数として、

Function test(Deta)
test = Format(Deta, "yyyy/mm/dd")
End Function

これで、平成18→2006に表示できるかと思います。

【35718】Re:日付型への変換について
お礼  よう  - 06/3/10(金) 21:00 -

引用なし
パスワード
   >出来ますよ。独自の関数として、
>
>Function test(Deta)
>test = Format(Deta, "yyyy/mm/dd")
>End Function
>
>これで、平成18→2006に表示できるかと思います。

本当ですかぁ!
早速試してみます。
ありがとうございます。
助かりました。

試した結果はまた、返信させてもらいます。

【35720】Re:日付型への変換について
回答  Kein  - 06/3/10(金) 21:41 -

引用なし
パスワード
   目的のセルを選択して、以下のマクロを実行してみて下さい。

Sub Chg_MyD_Format()
  Dim CkSt As String
  Dim Ary As Variant
  Dim MyY As Integer, NewY As Integer
  Dim RtDay As Date
 
  CkSt = Left$(ActiveCell.Value, 2)
  If CkSt <> "大正" And CkSt <> "昭和" _
  And CkSt <> "平成" Then Exit Sub
  Ary = Split(ActiveCell.Value, "/")
  MyY = Val(Right(Ary(0), Len(Ary(0)) - 2))
  Select Case CkSt
   Case "大正": NewY = MyY + 1911
   Case "昭和": NewY = MyY + 1925
   Case "平成": NewY = MyY + 1988
  End Select
  RtDay = DateValue(NewY & "/" & Ary(1) & "/" & Ary(2))
  ActiveCell.Value = Format(RtDay, "yyyy/mm/dd")
End Sub

【35724】Re:日付型への変換について
発言  tora  - 06/3/10(金) 23:25 -

引用なし
パスワード
   データ数が多いのでしたら、こちらをどうぞ

Sub test2()
Dim Deta As Range, MyCell As Range
Dim MyMsg As String, MyTitle As String

MyMsg = "変更するセルの範囲を指定して下さい"
MyTitle = "Format"

On Error Resume Next
Set MyCell = Application.InputBox(Prompt:=MyMsg, Title:=MyTitle, Type:=8)
For Each Deta In [MyCell]
Deta = Format(Deta, "yyyy/mm/dd")
Next Deta
End Sub

7983 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free