プロが教えるわが家の防犯対策術!

簡潔に。
エクセル(2002.SP3)で現在時刻を入力するのに
「Ctrl」+「*」で入力できるかと思いますが
「分」までしかデータがありません。
「秒」の単位まで簡単に入力したいのですが
いい方法ありますでしょうか?
え~残念ながら今手元に解説本も何もない状態です。
くわしくご親切なかた オネガイシマス。

A 回答 (10件)

TIME関数を使えばよいと思います。



     ↓

参考URL:http://t_shun.at.infoseek.co.jp/My_Page/KansuuMa …Ⅴ-5

この回答への補足

ありがとうございます。
私の説明が悪いですね。
行いたかったのは以下のようなツールの作成です。
・ある業務の所要時間を測定したい。
・該当業務の開始時刻をすばやく入力
・同、終了時刻を入力
・両者の差をとって所要時間とする。
秒単位の測定を行いたいんでツールの入力はすばやく行いたいです。
「Ctrl」+「*」キーで現在の時刻が入るやないですか。
それで秒の位までデータがあると簡単なのですが、分までしかデータがなく秒が「00」になってしまうんですよ。
設定の問題ですかね?
「NOW()」関数を使用しますとシートが再計算されるたびにデータが更新されますよね。
ちょっと上手くないなあ、と。
NOW()関数をどこかで表示さえておいてコピペで「値のみ貼り付け」とかって小さなマクロを組んでもいいのですが、もっと手軽にできる方法はないものか、と。
といいますか上記「Ctrl」+「*」キーで秒のデータまで入力できなかったかな?というのが質問の主旨です。
わかりづらくて申し訳ありません。

補足日時:2005/04/29 16:43
    • good
    • 0
この回答へのお礼

ありがとうございます。でもちょっと違うんですわ。
補足ご参照ください。

お礼日時:2005/04/29 16:42

harukaです



いかがでしょうか。
補足みましたが、イマイチ状況がわからず。
でも、なんとなく、私の直後にお答えくださった
Wendy02 さんので、解決に向かっているような気がします。

#6は即興で作成したので、
これよりは、#8方式の方がいいですよ。
    • good
    • 0
この回答へのお礼

おはようございます。
みなさんからいただいたアドバイスにたいし
結果を即答できる能力がわたしにはありません。
GW前でバタバタしていることもあり
いろいろ試しながらの作業はGW後とさせていただきます。
いったんここでお礼申し上げます。
ありがとうございました。
またすぐ次の疑問が湧くかと思います。
そのときはまたご助力ください。

せやで、深夜に回答いただいたり何度も何度も丁寧に課アドバイスいただいたり、
なんでみなさんそんなにエエ人なんですか。
涙出ますわ(笑)
って笑とるやんけ!!
一人突っ込みでした。

でわ!
みなさん、ありがとうございます!!

お礼日時:2005/04/30 11:28

>エクセル(2002.SP3)で現在時刻を入力するのに


>「Ctrl」+「*」で入力できるかと思いますが
>「分」までしかデータがありません。
殆どの回答者の方がEXCELによる解決策を述べておられますので、
ご質問者の本来の質問の主旨に戻って、

>「秒」の単位まで簡単に入力したい

に何か他に方法が無いか考えてみたところ、以前仕事で使っていた
クリップボードに拡張機能を付加するフリーソフトがあったことを
思い出しました。

そこで似たようなものがないか検索してみたところ以下のURLで
「Charu3」というソフトを見つけました。
このソフトを起動し、常駐させておけば、EXCELのワークシートに
現在時刻を入力できます。
(現在時刻がクリップボードに取込まれ貼付け可能になる)
これをキー操作で簡単に行うために設定が必要です。
常駐させた状態でアイコンを左クリックして以下のように操作します。

1.表示されたメニューの「チュートリアル」から
  「2.マクロ機能」→「時間マクロ」をシンクルクリック
2.「時間マクロ」が反転している状態で右クリック
3.表示されたメニューから「プロパティ(R)」をクリック
4.テキスト編集画面にサンプルが表示されるので
  「時間も貼り付けられます。」の文言と改行をを削除
5.拡張マクロテンプレートで「ホットキー」を選択し、
  拡張マクロウィンドウに「HotKey=」と表示されるのを確認
6.HotKey=のあとに実際に時刻を入力するときに使用する
  ショートカットキーを書き込む
  例えば「HotKey=ctrl+shift+t」などと記述する。

上記手続きのあと、EXCELを起動してセルを一つクリックし、
「Ctrl」+「Shift」+「T」を押してみてください。
キーを押した時刻が秒まで入力されたと思います。

>「Ctrl」+「*」で入力できるかと思いますが

に一番近いと思いますがどうでしょうか。

参考URL:http://keiziweb.com/software.html
    • good
    • 0
この回答へのお礼

おはようございます。
フリーソフトですか。
フリーは大好きです(笑)
本日はGW前の最後の業務でして朝からバタバタしてます。
せっかく教えていただきならが使用させていただくのはGW後になってしまいます。
お詫びとともにお礼を申し上げます。
ありがとうございました。

お礼日時:2005/04/30 11:24

kansaiheartさん、



>コントロール機能を用いれば一日に繰り返される小分類(おそらく数百~1000以上)の数だけコントロールを作成しないといけないのかな?

はっきりと、イメージが湧いたわけではありませんが、私の #7のマクロは、そういう内容には、あまり向かないです。私のは、ワークシート外に記録を取っていますので、数をこなすことができません。一人の人が、1つのブックで、1日~数日の仕事の最初と最後の時間の差を取るような行為に向いています。

短期の時間で、数を多く必要な場合は、harukabcdeさんの#6 のようなものが良いと思います。

以下のような、単純なものがよいと思います。

以下は、記録をつけるシートモジュールのみに、有効です。2行目から書き込んでいきます。
'----------------------------------------------------------
Private Sub CommandButton1_Click()
 'Start
 Range("A65536").End(xlUp).Offset(1).Value = Format(Now, "hh:mm:ss")
End Sub

Private Sub CommandButton2_Click()
 'Finish
 Range("B65536").End(xlUp).Offset(1).Value = Format(Now, "hh:mm:ss")
End Sub

'----------------------------------------------------------
'シートに記録が一杯になっていくようでしたら、以下のクリックすれば、ボタンが画面といっしょについてきます。
'同じくシートモジュールです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  WinTop = ActiveWindow.VisibleRange.Top
  CommandButton1.Top = WinTop + 3
  CommandButton2.Top = WinTop + 3
End Sub
'----------------------------------------------------------
    • good
    • 0
この回答へのお礼

おはようございます。
アドバイスいただいた時間見ますと深夜にかご回答いただいた由。
朝からGW前の進行でバタバタしてまして今WEBを覗くことが出来ました。
いただいた回答を検証しながら作業させていただきます。
いったんここでお礼を言わせていただきます。
ありがとうございました。

お礼日時:2005/04/30 11:22

マクロのタイムラグの精度の問題もありますが、ここでは秒まで出ますので、問題はないと思います。



まず、コマンドボタンを2つ用意して、StartUp と、FinishTime を登録してください。
今回のコマンドボタンは、フォームで作ったほうが簡単です。このマクロは、一旦、Excelを終えても、記録を測ってくれます。ただし、StartUpからの所要時間です。

[標準モジュール]に登録するのが適切です。
このマクロを使うためには、最初にカスタム・ドキュメント・プロパティに登録が必要です。

'--------------------------------------------
Sub プロパティ登録()
'要登録
Dim 記録時間 As Double
  記録時間 = Now
  With ThisWorkbook.CustomDocumentProperties
      .Add Name:="記録時間", _
      LinkToContent:=False, _
      Type:=msoPropertyTypeString, _
      Value:=記録時間
  End With
End Sub
'これを削除する場合は、ワークシートのファイル-プロパティ-カスタム
'ユーザー設定から、記録時間の所を削除してください。
'--------------------------------------------

Sub StartUp()
 '開始時間記録
  On Error GoTo ErrMsg
  ThisWorkbook.CustomDocumentProperties("記録時間").Value = Now
ErrMsg:
  If Err > 0 Then
   MsgBox "最初に、プロパティの登録をしてください。"
  Else
   MsgBox "時間を記録しました"
  End If
End Sub
'メッセージボックス(MsgBox)の代わりに、セルに書き出しても可能です。
'例: Sheet1.Range("D1").Value _
= ThisWorkbook.CustomDocumentProperties("記録時間").Value

Sub FinishTime()
 '終了時間
  Dim CDP As String
  Dim myDate As Date
  Dim myHour As Date
  Dim DifferenceTime As Double
  CDP = ThisWorkbook.CustomDocumentProperties("記録時間")
  myDate = DateValue(CDP)
  myHour = TimeValue(CDP)
  If Date >= myDate Then
  DifferenceTime = Now - CDbl(CDate(CDP))
  msg = Application.Evaluate("TEXT(" & DifferenceTime & ",""[hh]:mm:ss"")")
  Else
  msg = "設定時間が取れません。"
  End If
  MsgBox msg
End Sub

'メッセージボックス(MsgBox)の代わりに、セルに書き出しても良いと思います。
'例: Sheet1.Range("D2").Value = msg
    • good
    • 0
この回答へのお礼

マクロのご提示 ありがとうございます。
これこのままコピペして使わしていただけるもんですか?
試してみます。ありがとうございます。
もしよろしければ下記の補足の件、
お願いさせていただきたいのですが。

お礼日時:2005/04/29 21:47

間違えた!



こっちです

Sub Macro1()
With Range("a1")
.Value = Now()
.NumberFormatLocal = "h:mm:ss"
End With
End Sub
Sub Macro2()
With Range("a2")
.Value = Now()
.NumberFormatLocal = "h:mm:ss"
End With
End Sub

マクロの設定や、
マクロをボタンに登録する方法は大丈夫ですか?

この回答への補足

最後の山です。
各業務要素ごとに秒単位で所要時間を測定するつもりです。
ざっとした分類の流れは
(メンバー各人)→(業務大分類)→(業務小分類:業務要素):所要時間測定
となります。
たとえばメンバー各人が
kansaiheart:(案件処理1)→(確認/計算/入力1)
某主任:(CADdataたちあげ)→(計算処理2)
といった順に項目を決め込み それぞれの業務要素に対して開始時間(=直前の要素の終了時間)を入力します。
いまのところ、
エクセルのコントロール機能を用い大分類を選択し、
小分類:業務要素もコントロール機能で選択します。
ここで大分類ごとに小分類のリストが違ってきますので
小分類のコントロール機能のリストにif関数を用いて大分類の決め込みにたいし別のリストからリストを読み込んでくるようにしています。

ただ上記小分類ごとに(開始時刻)~(終了時刻)(=差をとって所要時間)を個々のデータとして取り扱いたいので
コントロール機能を用いれば一日に繰り返される小分類(おそらく数百~1000以上)の数だけコントロールを作成しないといけないのかな?
というところで固まってしまいました(涙)

(上記データのイメージはファイルメーカをご存知やとして「表レイアウト」ってレイアウトがあったかと思います。ああいう感じで1つ1つの時間データを取り扱いたいと考えてます。
当方、業務ソフトとしてはエクセルとファイルメーカ、その他CAD etc.が多少使える程度の知識しかありません。マクロもごく簡単なものがわかる程度です)

以上、言葉では非常に説明しにくいですがエクセルの画面上びっしりと業務要素および所要時間のデータが表になってるイメージを感じていただければ幸いです。
よろしくアドバイスお願いします。

補足日時:2005/04/29 21:17
    • good
    • 0
この回答へのお礼

マクロのご提示 ありがとうございます。
今なんとか処理してるところです。
上記 補足させていただきました。
非常にわかりづらいのですが項目の選択をくりかえさねばならないため、秒単位での測定に支障が出てます。
よろしければアドバイスください。

お礼日時:2005/04/29 21:36

じゃぁ、やっぱマクロかなぁ



Sub Macro1()
With Range("a1")
.Value = "=NOW()"
.NumberFormatLocal = "h:mm:ss"
End With
End Sub


Sub Macro2()
With Range("a2")
.Value = "=NOW()"
.NumberFormatLocal = "h:mm:ss"
End With
End Sub



開始と終了用にボタンを2つ用意して、
それを押すとか。
    • good
    • 0

#3



・ある業務の所要時間を測定したい。
・該当業務の開始時刻をすばやく入力
・同、終了時刻を入力
・両者の差をとって所要時間とする。

入力規則を2箇所(開始用と終了用)に作成して
その下に引き算の関数を入れれば所要時間が出ると思います

まだ何かあるのですか?

この回答への補足

先の業務終了=次の業務開始というスタンスですので上記は解決してます。
NO.3の補足についてお願いします。
(お礼入力から補足入力にタイムラグがありました。
 アクセス多すぎのサーバーエラーが出てました。
 申し訳ありません)

それと最後の山ですが、うまく表現できませんので手元で文章をまとめたうえで補足させていただきます。
ここまでのご丁寧なご回答、ありがとうございます。
もう少し よろしくお願いします。

補足日時:2005/04/29 19:55
    • good
    • 0

#2です


使い方を詳しく書けば良かったですかね


どのセルを使いたいか不明ですが
A1に
=now()
と入力
(これは、単に現在時刻を取得するためだけです)

実際に使用するセルへ
データ-入力規則
リスト
で、
元の値に
=A1
と入力します

すると、
B1がリスト形式になり、リストを選択するたびに
現在時刻now値が入ります。

表示駅式を
hh:mm:ss
にすれば、現在時刻が表示されます。


余談ですが、
A1は
=today()
も使えます

この回答への補足

あと山が2つあります。
よければアドバイスください。
まずは簡単そうなほうから。

入力規則を利用しますと該当セルにデータを入力するのにダブルアクションが必要ですよね。
1.セルを選んで「▼」を出す。
2.「▼」を選んでデータ入力。

下記補足に書きましたとおり秒単位の測定を被測定者本人が行います。
ですのでツールの入力に時間がかかってしまっては信頼性の低いデータになってしまいます。
できればワンアクションでデータの入力を行いたいのですが。

ファイルメーカなどですとフィールドそのものをボタンにすることが出来たような気がします。
本件、入力規則を用いてそういうことができますでしょうか?

補足日時:2005/04/29 19:41
    • good
    • 0
この回答へのお礼

大きな前進です!
ありがとうございます!
これで3つある山のうちの1つが解消しました。
もう少し無心させてください。

お礼日時:2005/04/29 19:26

=now()

    • good
    • 0
この回答へのお礼

ありがとうございます。
わたしの説明不足です。
下記補足をご参照いただき回答を追加いただければ幸いです。

お礼日時:2005/04/29 17:23

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