• ベストアンサー

現時刻を入力

教えてほしいのですが、A1に1~5までの数字を入力した際に A2のセルに現時刻が入力されるようにすることは可能なんですか?

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

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.8

Private Sub Worksheet_Change(ByVal Target As Range) 'A列以外が変更されたら何もしない If Intersect(Target, Range("A1:A65536")) Is Nothing Then Exit Sub 'A列の値のが0より大きく6より小さかったらB列に現在時刻を代入 'それ以外のときは何もしない(B列の値はクリアしない) If 0 < Target.Value And Target.Value < 6 Then Target.Offset(0, 1).Value = Format(Time, "h時m分s秒") End Sub もし、B列に既に時刻が入っていて、A列の値を1~5以外に変えても、↑のサンプルでは前の時刻が残ったままです。 B列に既に時刻が入っていて、A列の値を1~5以外に変えたらB列をクリアしたい場合は > If 0 < Target.Value And Target.Value < 6 Then Target.Offset(0, 1).Value = Format(Time, "h時m分s秒") ↓のように変えてください。 If 0 < Target.Value And Target.Value < 6 Then Target.Offset(0, 1).Value = Format(Time, "h時m分s秒") Else Target.Offset(0, 1).Value = "" End If

goku716
質問者

お礼

非常にありがとうございました! できました。本当に感謝です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (7)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.7

>時間がAM,PMで表示されるのではなく24時間で表示される方法 Foramt関数 を使います。 表示セル.Value = Format(Time ,"h時m分s秒") というような感じになります。 セルの表示形式を変えておく、という手もあります。 表示セル.NumberFormatLocal = "h:mm:ss;@" 「表示セル」は↓によって変わってきます。 >A1だけでなくA列すべてにこれが適用されるのはどうすればいいですか? A1が書き換えられたときにA2のセルに時刻を入力するものですが、 A列全体 となると、時刻はどこに入力するようにしますか? ※いまから外出しますので、レスは18時以降になるかもしれません。

goku716
質問者

補足

B列です。忙しいのにすいません。

全文を見る
すると、全ての回答が全文表示されます。
  • Caryo_t
  • ベストアンサー率45% (112/246)
回答No.6

caryo_tです。 確かに自動計算で変わってしまいますねぇ。 (;^^) 「自身あり」というのは撤回です。お恥ずかしい。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.5

なぜA1以外を書き換えたときも A2セルの値が変わったかと言いますと、 「自動計算」機能が働いたからです。 手動計算にしておくと今度はどのセルの値を 変えても再計算されませんので不具合が出ます。 シートごとに再計算のオン/オフは切り替えら れたと思いますが、セルごとに、は出来なかっ たと思います。 それで、マクロのシートのイベントで、マクロが 実行されるセル範囲を限定して、という方法が よく使われます。 今回はセルの値を変えたときに自動実行する マクロですが、 選択セルを移動したときに セルを右クリックしたとき セルをWクリックしたとき などにマクロを自動実行する機能(イベント) もあります。 http://www.k1simplify.com/vba/tipsleaf/leaf311.html VBA入門サイトです。 こちらにもシートのイベントの記述があります。 http://excelvba.pc-users.net/index.html

goku716
質問者

補足

非常にためになりました。ありがとうございます。 最後に聞きたいのですが、時間がAM,PMで表示される のではなく24時間で表示される方法と、A1だけでなく A列すべてにこれが適用されるのはどうすればいいですか? お願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

ワークシートのチェンジイベントでの方法です。 シートタブを右クリック ↓ コードの表示 ↓ 開いたウィンドウに下記のコードをコピペ -------------- Private Sub Worksheet_Change(ByVal Target As Range) 'A1セル以外が変更されたら何もしない If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub 'A1の値のが0より大きく6より小さかったらA2に現在時刻を代入 'それ以外のときは何もしない(A2セルの値はクリアしない) If 0 < Target.Value And Target.Value < 6 Then Range("A2").Value = Time End Sub ---------- 右上の赤×でウィンドウを閉じる でA1セルに入力した値によってA2に現在時刻が自動入力されます。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

大変失礼ですが・・・。 Caryo_tさんの方法ですと、A1以外が変更されたときも A2の時刻が書き換えられてしまいますよ。

goku716
質問者

補足

確かに書き換えられました。 もしよろしければ教えてもらえませんか?

全文を見る
すると、全ての回答が全文表示されます。
  • Caryo_t
  • ベストアンサー率45% (112/246)
回答No.2

こんなもんでどうでしょう。A2に,以下の式を入れてください。 =IF(AND(A1>=1,A1<=5),HOUR(NOW()) & ":" & MINUTE(NOW()) & ":" & SECOND(NOW()),"") 時刻は,「時:分:秒」で並んでますので,要らない部分は消してください。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

自動で、となるとVBAになります。 ワークシートのチェンジイベントを使用します。 手動なら、 Ctrl + : で現在時刻を入力できます。 日付は Ctrl + ; で入力できます。

goku716
質問者

補足

返事ありがとうございます。 Excel少し苦手なのでもう少し詳しくやり方を教えて もらえないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELの時刻入力制限の設定

    教えていただきたいことがあります。 セルA1に 4月11日11時20分と入力したとします。(この時刻と日付は毎回かわります) 次に セルA2に入力する日時と数字は「セルA1以上の数値」でなければ入力をうけつけないようにしたいのですが、その場合はどのような設定にすればよいでしょうか? 日付と時刻のセルをわけた場合 A1「日付」 B1「時刻」<A2「日付」 B2「時刻」 のように設定することも可能でしょうか?

  • Excelでの時刻入力

    初めて質問を投稿します。 私は仕事でよくExcelを使うのですが、 Excelで時刻入力する際、通常は”15:00”というように入力しますが、 時刻の入力数が多過ぎて、毎回わざわざ”:(コロン)”を入れるのに手間がかかってます。 ”1500”と入力するだけで時刻を入力できる方法ってあるんでしょうか? その入力した時刻データを使って、別セルに関数で計算をさせてるんですが、 シリアル値で入ってないと当然計算ができないので困ってます。 セルの書式設定とかでどうにかできたりするんでしょうか? いい方法をご存知の方、どなたか教えて頂ければ嬉しいです。

  • 【エクセル】セルに時刻のみ入力にしたい。

    エクセル2003でセルに時刻だけを記入出来るようにしたいです。 たとえば「1:00」や「12:34」のように、 「○:○○」、「○○:○○」の形式が有効で、それ以外の形式で 入力された場合は、エラーを返すか、入力できないようにしたいです。 数字の半角/全角は問いません。 入力規則のところを少しいじってみたのですがよく解りませんでした^^; 宜しくお願いします。

  • エクセルで時刻を自動入力する方法

    教えてください。 エクセルで、たとえばA1のセルに自分の名前を入力したときB1にそのときの時刻が入力される。5分後、A2に自分の名前を入力したときB2にその時の時刻が自動で入力される。ただしこの時A1の時刻はA2に自分の名前を入力したときのままで固定されている。この操作を100回くらい繰り返しても時刻は入力したときのまま。 上記内容はエクセルでどうやればできるのでしょうか?

  • 時刻入力

    簡単な労働時間の計算をエクセルでやってみたのですが時間の入力でわからないところがあります。 出社時刻をA1に9:30 退社時刻をB2に17:30 C1に労働時刻8が表示されるようにしてるのですが、退社時間の入力を深夜になった場合に25:00と入力するのではなく1:00と入力したいのですが、現状では1:00と入力するとー8.5と表示されてしまうので、退社時刻を25:00ではなく1:00と入力してもー表示にならないようにするにはどうすればいいのでしょうか?

  • エクセルでの時刻をすばやく入力するには

    エクセルでの入力を簡単にする方法を教えてください。 時刻の入力で13:25を「1」、「3」、「2」、「5」と 数字を4個入力するだけで表示が「13:25」となるように するにはどうしたらよいでしょうか。

  • エクセルで時刻の入力をしたい

    エクセル2007を使っています。 時刻を入力したいのですが、24時間表示にするにはどうしたら良いのでしょうか? 24:30という時刻を入力したいのですが、表示が0:30になってしまいます。 セルの書式設定で「時刻」を選択し、種類で「13:30」というのを選びましたが、やはり表示は0:30のままです。 どうしたら24時間表示にできるのでしょうか?

  • セル上の時刻と現在の時刻の比較

    セル上の時刻と現在の時刻の比較 例えば、A1に 13:00 があって、VBA上にnowから取得した現在の時刻とA1セルの13時という時刻を比較したいのですが、これだとA1の方が1900年の時刻となるので比較の意味がありません。そこで、セル上に時刻を手動で書いたときにも比較可能な方法はありませんでしょうか。 セル上に年月日も入力すれば可能と思いますが、それだと運用上の手間が増えるので時刻のみ指定したいのです。日付部分を省いた時刻の情報のみ比較できれば可能とは思うのですが、、 よろしくお願いします。 -- エクセル2003

  • Excelで時刻のセル入力について

    Excelのセルに時刻入力(hh:mm)をしたいのですが、「:」(コロン)は自動入力できないでしょうか? 例えばセルに500と入力したら、5:00と表示されるようにしたいのですが…。

  • Excelで簡単に現在時刻を入力するには

    Excelでセル内に現在時刻を入力する方法で質問です。 NOW関数では現在の年月日と時刻、TODAY関数では年月日が入力できますが、 時刻だけを簡単に入力する方法はないでしょうか。

このQ&Aのポイント
  • インク吸収パットが満杯と表示される場合、交換費用について知りたいです。
  • ブラザー製品のインク吸収パットを交換する際の費用について教えてください。
  • インク吸収パットの交換にかかる費用について詳細を教えてください。
回答を見る

専門家に質問してみよう