こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで日付、時間表示

お世話になります。エクセル2000を使っています。
セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・

日付データとして、日付のみのものと、時間も入っているデータを、
日付のみのものは日付のみの表示に、
時間も入っているものは日付と時間を表示する。

具体的には、ある一つのセルに
2003/07/26と入力した時 → "2003/07/26"と表示
2003/07/26 18:30と入力した時 → 
"2003/07/26 18:30"と表示

ユーザー定義で、
yyyy/mm/dd
yyyy/mm/dd hh:mm
でそれぞれの表示はできますが、例えば
時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。
文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。

少し長くなりましたが、よろしくご教示ください。

投稿日時 - 2003-07-26 19:02:28

QNo.611803

困ってます

質問者が選んだベストアンサー

ユーザー定義でお望みの書式の回答が出るか楽しみです。
私は多分無理かなと思いますが。
そこでVBAでやって見ました。
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 30 '30行まで
v = Cells(i, A) 'A列
If Int(v) = v Then
Cells(i, A).NumberFormatLocal = "yyyy/mm/dd "
Else
Cells(i, A).NumberFormatLocal = "yyyy/mm/dd hh:mm"
End If
Next i
End Sub
少数例では上手く行くようですが。
やり方はシートの画面でALTキーを押しつつF11キー、I、
Mを押します。
左のフレームのVBAProjectのシート名をダブルクリックして、右のフレームでGeneralはWorksheet、DeclarationsはChangeをクリックし、上記をコピペする。
ワークシートのA列30行までのセルで
2002/2/23や2003/3/5 16:34のどちらかの形式で日時を
入力して見てください。
なお時間のない方をセルの色をかえるなら、条件付書式で出来ます。

投稿日時 - 2003-07-26 21:29:14

補足

> なお時間のない方をセルの色をかえるなら、条件付書式で出来ます。

日付データを含めて,多数の項目を含むデータ表をエクセルで作っています。その表の特定行を指定して,同一File内の別のシートに作った報告書式に,指定行のデータを表示させています(印刷して報告書とします)。
その中の日付データが,質問内容にあるように,時間を含んだり含まなかったりなんです。
そこで,報告書式には(日付の入るセルには),時間を含むデータは時間を含む表示に,含まないものは含まない表示に,「条件付き設定」できないかと思ったわけです(現在はその都度書式を変えている)。
ですので,セルの色を変えるというのは残念ながら,目的からちょっとはずれてしまいます。

投稿日時 - 2003-07-27 10:36:15

お礼

早速のご回答ありがとうございます。
VBAまで組んでいただき感謝いたします。
エクセルの機能のみで表示できないかと思っていたんですが,無理なのでしょうか。

投稿日時 - 2003-07-27 10:35:31

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

書式ではがんばればできるとは思いますが、もうひとつの
ショートカットキーで簡単に出せます。

時間だけは"ctrl+れ"
時間だけは"ctrl+け"

両方出したいときは"れ"のあとに"け"を入力すれば両方でます。

投稿日時 - 2003-07-26 21:21:57

お礼

早速のご回答ありがとうございます。
書式設定だけでは難しい(できない)のでしょうか。

投稿日時 - 2003-07-27 10:30:28

あなたにオススメの質問