プロが教える店舗&オフィスのセキュリティ対策術

自動的に Hを頭に付けて H19.07.05 と表示させるにはどうしたら良いでしょうか?
教えて下さい。

A 回答 (5件)

No.4 追記



問題はあまりないと思いますが、

「00.01.01」~「01.01.07」は昭和として反応します。
「S63.01.01」~「S64.01.07」となります。

他に「'-1.01.01」なども反応してしまいます。
    • good
    • 1
この回答へのお礼

有り難うございました

お礼日時:2017/02/08 20:59

マクロ(VBA)のシートモジュールを使ってみました。


---------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim 対象 As Long
Dim 入力文字 As String
Dim 対象文字 As String
For 対象 = 1 To Target.Count
入力文字 = Target(対象).Value2
If Len(入力文字) = 8 Then
If Mid$(入力文字, 3, 1) = "." Then
If Mid$(入力文字, 6, 1) = "." Then
If IsNumeric(Left$(入力文字, 5)) Then
If IsNumeric(Right$(入力文字, 5)) Then
対象文字 = CStr(1988 + CLng(Left$(入力文字, 2)))
対象文字 = 対象文字 & "/" & Mid$(入力文字, 4, 2) & "/" & Right$(入力文字, 2)
If IsDate(対象文字) Then
Application.EnableEvents = False
Target(対象).Value = CDate(対象文字)
Target(対象).NumberFormatLocal = "[$-411]ge.mm.dd;@"
Application.EnableEvents = True
End If
End If
End If
End If
End If
End If
Next
End Sub
---------------------------------------------------------------------
※ コードを書き込むときは下図の赤で囲んだ部分(対象のシート)をクリックして開いた所に記入して下さい。
※「yy.mm.dd」の書式以外のものに対しては反応しません。
※「28.02.30」など実際に存在しないものも反応しません。
※ 他のシートなどからのまとめてコピーにも対応しています。
※ 対象だった場合だけ、書式設定を「[$-411]ge.mm.dd;@」に変更しています。
※ 対象はシリアル値に変更されていますので、後々使いかっても良いと思います。
※ コードが有るシートしか反応しないので問題もおきにくそうです。
「エクセル で 例えば 19.07.05と」の回答画像4
    • good
    • 1
この回答へのお礼

有り難うございました
色々なやり方があり勉強になりました。

お礼日時:2017/02/08 20:58

表示だけなら書式設定で可能ですが、


あくまで見た目しか変わらないので、日付として計算式に利用するには1手間2手間かけなければならなくなりますよ。
計算に用いるなら、Hも含めて日付として入力し、書式設定を日付の和暦にするのが一番簡単だと思います。
    • good
    • 1
この回答へのお礼

有り難うございました
試してみます。

お礼日時:2017/02/08 20:57

Excelのオートコレクト(オプション→文章校正→オートコレクトのオプション)中の



□入力中に自動修正するにチェック(多分すでに入ってる)
下のボックスに
修正文字列→..(ピリオド二つ)
修正後の文字列→H
追加ボタン押す

とすると、(日本語入力OFFで)..を入力しそのまま続きを入力すると自動的にHになります。
最初に入れる文字は何でもいいんですけどピリオドならテンキーで入れられるので入れやすいかなと。
    • good
    • 1
この回答へのお礼

有り難うございました
色々なやり方があり勉強になりました。

お礼日時:2017/02/08 20:57

セルの書式設定で [表示形式] タブを開き、[分類] リストの [ユーザー定義] を選択。


[種類] のところに 「"H"@」 と入力するとか。
質問文にあるように、入力された値の頭に H を付けて和暦のように表示しているだけで、入力確定後のセルの値はあくまでも入力した 「19.07.05」 という文字列のままです。
    • good
    • 1
この回答へのお礼

有り難うございました
文字列のままなんですよね

お礼日時:2017/02/08 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!