[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付の表示を変更する方法』(すがやっち)
早速質問させていただきます。
日付を入力するセル(仮に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.