[[20041012192053]] 『日付の表示を変更する方法』(すがやっち) ページの最後に飛ぶ

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

 

『日付の表示を変更する方法』(すがやっち)

早速質問させていただきます。

日付を入力するセル(仮にA1)があり、ここに例えば今年の9月24日なら、20040924 と入力します。ここでマクロを設定したいのですが、入力し、確定した瞬間に、同じセルに、 2004/9/24 と表示が置き換わるような記述は可能でしょうか?(当然ながら、先に入力した、20040924 は消えることになります)。

Private Sub Worksheet_Change(ByVal Target as range)を使うのは判るのですが、記述をどのようにしたらよいか思い浮かびません。

どうか、宜しくお願いします。


 なんか、ちょっとおおげさになりましたがぁ、、(^^;; ヒヤアセ
わりと面倒なのもですね。どうかな???
後は、適当に応用してください。
v(=∩_∩=)v
(SoulMan)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler:
With Target
    If .Column <> 1 Then Exit Sub
    If .Count > 1 Then Exit Sub
        .NumberFormatLocal = "@"
    If .Value = "" Then
        .NumberFormatLocal = "G/標準"
            Exit Sub
    End If
        If Len(.Value) <> 8 Then
            MsgBox "必ず8桁の整数で入力してください"
                .Value = ""
                    .Select
                        .NumberFormatLocal = "G/標準"
                        Exit Sub
        End If
        Application.EnableEvents = False
        .Value = Format(Left(.Value, 4) & "/" & Mid(.Value, 5, 2) & "/" & Right(.Value, 2), "yyyy/m/d")
            .NumberFormatLocal = "yyyy/m/d"
                If Not IsDate(.Value) Then
                    MsgBox "日付に変換出来ません。" & Chr(13) & _
                        "日付に変換出来る数値を入力してください。" & Chr(13) & _
                            "例: 2004/10/12", vbCritical, "エラー"
                                .Value = ""
                                    .Select
                                        .NumberFormatLocal = "G/標準"
                Application.EnableEvents = True
                Exit Sub
            End If
        Application.EnableEvents = True
End With
Exit Sub
ErrorHandler:
With Target
    MsgBox "予測出来ないエラーが発生しました。" & Chr(13) & Chr(13) & _
        "Error Number=" & Err.Number & Chr(13) & _
            "Error Message=" & Err.Description
                .Value = ""
                   .Select
                      .NumberFormatLocal = "G/標準"
    If Application.EnableEvents = False Then
        Application.EnableEvents = True
            Exit Sub
    End If
End With
End Sub


コメント返信:

[ 一覧(最新更新順) ]


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