Excel VBA質問箱 IV

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

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


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

【53052】日付について やす 07/12/12(水) 22:52 質問[未読]
【53054】Re:日付について ponpon 07/12/13(木) 0:05 発言[未読]
【53057】Re:日付について わさび 07/12/13(木) 8:28 発言[未読]
【53060】Re:日付について Jaka 07/12/13(木) 10:39 発言[未読]
【53066】Re:日付について わさび 07/12/13(木) 13:45 お礼[未読]
【53075】Re:日付について やす 07/12/13(木) 22:17 お礼[未読]

【53052】日付について
質問  やす  - 07/12/12(水) 22:52 -

引用なし
パスワード
   質問します。
A列に形式が標準で
20071001
20071011


と入力されているとします
これを形式を日付にしたいのですがやりかたがわかりません
教えて下さい

【53054】Re:日付について
発言  ponpon  - 07/12/13(木) 0:05 -

引用なし
パスワード
   ▼やす さん:
>質問します。
>A列に形式が標準で
    A
>1 20071001
>2 20071011

と、なっているとして
必ずyyyymmddとなっているなら、
関数でよければ、
B1に=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
として、書式を日付にしてください。
後は、フィルでよいかと・・・

【53057】Re:日付について
発言  わさび  - 07/12/13(木) 8:28 -

引用なし
パスワード
   ▼やす さん:
>質問します。
>A列に形式が標準で
>20071001
>20071011
>・
>・
>と入力されているとします
>これを形式を日付にしたいのですがやりかたがわかりません
>教えて下さい


先月、友人に頼まれて、まさに同じ仕様のコードを作成しました。


-----
Option Explicit

'!!注意!!
'西暦4桁+月2桁+日付2桁 = 8桁の数字でないと、実行できません。


Sub Date_Style()


  Dim myYEAR As Integer, myMONTH As Integer, myDAY As Integer
  Dim myDATE As Date
  Dim i As Long, A_Last As Long
  
  
  A_Last = Range("A65536").End(xlUp).Row
  
  For i = 1 To A_Last
  
    With Cells(i, 1)
  
      If IsNumeric(.Value) = True Then
        If Len(.Value) = 8 Then
    
          myYEAR = Left(.Value, 4)
          myMONTH = Mid(.Value, 5, 2)
          myDAY = Right(.Value, 2)
          
          If myYEAR >= 1900 And 1 <= myMONTH And myMONTH <= 12 And 1 <= myDAY And myDAY <= 31 Then
          
            myDATE = DateSerial(myYEAR, myMONTH, myDAY)
            .Value = myDATE
            '.NumberFormatLocal = "yyyy/mm/dd"
            .NumberFormatLocal = "yyyymmdd"
              
          End If
          
        End If
      End If
      
    End With
    
  Next i
  

End Sub

【53060】Re:日付について
発言  Jaka  - 07/12/13(木) 10:39 -

引用なし
パスワード
   1列づつしかできないけど、列またはセルを選択して
データ → 区切り位置 → 次へ次へで、列のデータ形式を
日付にチェックして完了。

【53066】Re:日付について
お礼  わさび  - 07/12/13(木) 13:45 -

引用なし
パスワード
   ▼Jaka さん:
>1列づつしかできないけど、列またはセルを選択して
>データ → 区切り位置 → 次へ次へで、列のデータ形式を
>日付にチェックして完了。

やっぱり、こういう機能があったんですね!
あるだろうなーと思いつつ、発見できなかったために、
上記マクロを組むことになった次第でした。

勉強になりました。ありがとうございます。

【53075】Re:日付について
お礼  やす  - 07/12/13(木) 22:17 -

引用なし
パスワード
   ▼Jaka さん:
>1列づつしかできないけど、列またはセルを選択して
>データ → 区切り位置 → 次へ次へで、列のデータ形式を
>日付にチェックして完了。

ありがとうございました
助かりました

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