No.6ベストアンサー
- 回答日時:
エクセルの中で日付として扱っているのは、シリアル値と言う数値です。
2016年8月10日なら「42592」という数字になります。
1900年1月1日 0時00分を1として、そこから24時間で1ずつ増えている値です。
なので、日付としたセルで「2016810」と入力すると「7421/11/1」になります。
セルの表示形式を日付以外にしないと「2016/8/16」という表記にはなりません。
それにしても、すげー面倒な処理をしないと無理。(月の桁合わせが煩雑なんですよ)
素直に日付を入力することを勧めます。
テンキーを使っての入力ならスラッシュ(/)の入力も簡単ですよ。
・・・妥協案・・・
「2016810」
ではなく
「20160810」
と入力し
セルの表示形式を「ユーザー定義」にし、
「0000"/"00"/"00」を設定する。
年は4桁、月と日は2桁で入力すること。
ただしこれはExcel内部では日付としては扱われないので、このまま日付として計算させようとしない事!
詳しく説明してくださり、ありがとうございます。
上記の方法と悩んだのですが、条件付き書式で日付に関する設定をしているので
「2016/8/10」とそのまま入力することにしました。
シリアル値についても勉強になりました。
ありがとうございます。
No.7
- 回答日時:
とりあえずVBAで作りました。
対象のシートモジュールに書き込んでください。(8桁の数字で「20000101」~「99991231」で日付に変更出来る物を日付に変更します)---------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim 日時 As String
If Target.Column <> 1 Then Exit Sub
If IsNumeric(Target.Value) Then
If Target.Value > 20000101 Then
If Target.Value < 99991231 Then
日時 = Left(Target.Value, 4) & "/" & Mid(Target.Value, 5, 2) & "/" & Right(Target.Value, 2)
If IsDate(日時) Then
Target.Value = CDate(日時)
End If
End If
End If
End If
End Sub
---------------------------------------------------------------------------
とりあえずA列以外は反応しないようにしました。列を変えたい場合などは「If Target.Column <> 1 Then Exit Sub」の部分を変更などしてください。表示形式はお好きなようにしてください。
ありがとございます。
やっぱり全然読めません(笑)
まだまだ勉強不足です・・。
もう少しVBAを学んでから、使わせて頂きますm(__)m
本当にありがとうございます。
No.4
- 回答日時:
VBAで出来るかも?と思いましたが出来ません。
なぜならば「2016111」これは「2016/11/1」「2016/1/11」のどちらだか判りませんよね。
せめて「20160810」のように8桁で入力されているならば可能性はあります。それでよければVBAを使えば可能です。
8桁でも大丈夫です。
元々、8桁で入力しようとしていたのですが、上手くいかなかったので
今の記述に変えたので・・。
VBAでも出来るのですね!
最近勉強を始めたばかりだったので、勉強不足でした。
コードを調べてみます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで日付に続けて連番を表示したい 6 2022/05/25 23:33
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/28 08:59
- Excel(エクセル) エクセルの「セル書式」の「表示形式」で 2 2022/08/07 16:44
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
31:30:00が1900/1/1 7:30:0
-
入力後に日付順になるように自...
-
Excelで半年後の日付を計算したい
-
エクセルのセルにカレンダーを...
-
エクセルでENTERを押すと数式が...
-
エクセル関数で日付かどうかの...
-
日付だけを変更して印刷(Excel)
-
Excelで8/26等の日付を全てその...
-
ファイルのオープン時に今日の...
-
エクセルで数字列の間に『/』を...
-
日付入力→指定のセルの色を塗り...
-
Excelで更新日時と更新者を表示...
-
【エクセル】日付を表示させた...
-
エクセル 当番表の作り方 エク...
-
日付を入力したセルをファイル...
-
Excelで、年だけの「西暦」から...
-
エクセルのセルにたとえば「756...
-
エクセルで日付入力欄を作成し...
-
☆Excelエクセルで入力した日の...
-
Excelに入力した個々の日付の数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
31:30:00が1900/1/1 7:30:0
-
日付だけを変更して印刷(Excel)
-
入力後に日付順になるように自...
-
Excelで半年後の日付を計算したい
-
エクセルでENTERを押すと数式が...
-
エクセルで数字列の間に『/』を...
-
エクセルのセルにカレンダーを...
-
エクセル 当番表の作り方 エク...
-
エクセル関数で日付かどうかの...
-
Excelで、年だけの「西暦」から...
-
ファイルのオープン時に今日の...
-
Excelで8/26等の日付を全てその...
-
日付入力→指定のセルの色を塗り...
-
エクセルで日付入力欄を作成し...
-
☆Excelエクセルで入力した日の...
-
EXCELで直近の日付を抽出する関数
-
日付を入力したセルをファイル...
-
◆ EXCEL自動入力日付を自動で...
-
ワード差込について
-
WORDで翌日や翌々日の日付を表...
おすすめ情報