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

会社で勤務時間をEXCELで管理することになりました。(タイムカードのように)
毎日、出勤時、退勤時にその時刻を入力していく必要があり、少しでも操作の手間を省きたいので、
ボタンのようなものを設置して、今の時刻が表の中の必要なところに入るようにしたいのですが、
EXCELでそういうことはできますか?

教えて!goo グレード

A 回答 (5件)

可能なのだが、エクセルVBAを知ってないと、うまく行かないし、他人にデータ入力を任せる場面があるなら、それなりの防御機能を考えないとだめです。


しかし今でも、誤ったら他人の行にデータを入れ放題ですか。
こういうのはお金(給与)や名誉(遅刻)に関連することで、個人が所有CDの整理表を自分で作るなどとは違うのです。
エクセルなどというソフトはそういうことに適してないのです。
既に回答で言及の在るフォームなどを使って、他人(他行)のデータは隠したり(見えないように)し足りは出来ますが、VBAも中級程度のならないと。ある程度システム思考に慣れないと無理です。
CTRL+:、CTRL+;などの操作を覚えてもらうほうが良いでしょう。ボタンクリックとそう手間は変わらない。
    • good
    • 6

>EXCELでそういうことはできますか?


他の方々がおっしゃるよう 出来ます。
但し VBAと機能の知識が必要になります。
実験として以下を試してみてください。
新しいシートで
   A    B  C
1写真番号 日付 時刻

と訓日して
 C列を選択 セル の書式を 日付
 D列を選択 セル の書式を 時刻
にしておきます。
シート名のタブを右クリックして コードの表示 をクリック
VBエディターが起動するので
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Target.Offset(0, 1).Value = Date
Target.Offset(0, 2).Value = Now
Target.Offset(0, 2).Value = Now - Date
Target.Offset(1, 0).Activate
End Sub
を貼り付けて閉じてください。
B列に 適当に社員番号を 入れてください
C列に 日付
D列に 時刻が入ります。
VBAについての実験と思ってください。

更に必用な機能がありますので
http://excelvba.pc-users.net/index.html
などのVBAについての勉強のサイトがありますので
一通り目を通して見られることをお勧めします。
    • good
    • 7

マクロを利用する事になります


基本は
ユーザーフォームでボタンに
ActiveCell=Now
とコードを書き込めば、選択されたセルに現在時刻情報が代入されます

>表の中の必要なところに入るように

と言うことであれば、必要なセルを選択するマクロを前出のコ-ドの手前に作る必要が出てきます
マクロはシートの構成によって変化してしまいますので現時点の情報だけでは

>EXCELでそういうことはできますか?

の質問には<可能です>としか回答できません
    • good
    • 4

時間を入力したいところ(セル)で「Ctrl + :」したら時間が入りますがこれが一番簡単では、



なお「Ctrl + ;」なら年月日が入力出来ます。
    • good
    • 10

(1)ボタンを作りボタンの上で右クリックしマクロの登録



(2)新規作成

(3)開いたModuleが 下記のようになっていることを確認
Sub ※オブジェクト名_Click()

End Sub

(4)下記のように書き換える。
Sub ※オブジェクト名_Click()
Range("A1").Value = Format(Now, "hh:mm")
End Sub

ただし、セルのA1に時刻を書く場合のコードになりますので
A1の部分を変更してください。

秒まで出したい場合は"hh:mm:ss"になります。
    • good
    • 9

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

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング