dポイントプレゼントキャンペーン実施中!

アルバイトの人の勤務時間をEXCELに報告させていますが、時々
勤務時間を改ざんする人がいます。あまり大げさなことはしたく
なく牽制効果がある程度あればいいのですが、下記のような方法
はあるでしょうか?

アルバイトの人は勤務時間を入力した後[確定]ボタンを押します。
[確定]ボタンを押した後は勤務時間を変更できません。
変更・訂正が発生した場合、私(上司)に変更後の時間を連絡します。
私はパスワードか、修正画面上で間違ったデータを修正します。

  日時   勤務時間
 2004/10/1   8.0 [確定]
 2004/10/2   6.0 [確定]
 2004/10/3   3.0 [確定]
 2004/10/4  10.0 [確定]

というように、つまり、セルの変更が容易にできないように
したいのですが、可能でしょうか?

A 回答 (6件)

>、[確定]ボタンをクリックするとそのセルが”黄色”などに変わるようにする為にはどうしたらいいでしょうか


1週間前のことで、状況を思い出すのに困難ですが
Target.Offset(0, -2).Locked = True
の前(ロックする前)の行に
Target.Offset(0, -2).Interior.ColorIndex=6
を入れると出来るかも。6は黄色のコード。
    • good
    • 0

#4の補足について


Sheet7は私の場合の例です。意味はありません。
ツールーマクロ-VBEをクリック。VBR画面になります。
左側にVBAProjectのところのSheet名が出ています。その
Sheet7をダブルクリックすると白紙のウインドウが開きます。上に「General」があり、右の▼をクリックしWorkbookをクリック、右の「Declaration」の右の▼をクリックして、Selection_Changeを選ぶ。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
が出るから、回答の中間部をコピーし貼りつける。
実行はシートをクリックしたとき行われる。
Sheet7に戻って、B列に数字をいれ、D列をクリックすると
B列は入力禁止になるはず。
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます。おかげさまで目的の設定ができました。
あつかましい御願いですが、[確定]セルをクリックすると変更できなくなったセルがどこか明示したく、[確定]ボタンをクリックするとそのセルが”黄色”などに変わるようにする為にはどうしたらいいでしょうか?

目的ができるようになると更に機能アップしたくなってします。どうかご教示頂きますよう御願いします。

お礼日時:2004/10/13 21:33

#3です。

VBAでやって見ました。
まず標準モジュールに
Sub test04()
Worksheets("Sheet7").Unprotect
Range("b1:b12").Locked = False
Worksheets("Sheet7").Protect
End Sub
これを管理者が日に1回実行します。
Sheet7のB1:B12をデータ入力可にしました。
Sheet7のSelectionChangeイベントに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' MsgBox Target.Column
If Target.Column = 4 Then
Worksheets("Sheet7").Unprotect
' MsgBox Target.Offset(0, -2)
Target.Offset(0, -2).Locked = True
Worksheets("Sheet7").Protect
End If
End Sub
入力者が、D列の確定をクリックすると、同行B列は入力できません。

この回答への補足

ありがとうございます。
「Sheet7のSelectionChangeイベントに,,,」のあたりがよくわからないのですが、マクロを作成するのだと思うのですが、どういった手順になるのでしょうか?全く無知で申し訳ありませんが、ご教示下さい。

補足日時:2004/10/06 21:38
    • good
    • 0

毎日入力のロックをパスワードを入れて解除し、入力者が「確定」セルをクリックするとその左のセルをロックする。

このように、何々をしたら(即座に)これこれをする(イベントプロシージュア)、と言うのは、VBAを使わないと出来ないと思います。
管理者が見る何時を過ぎたら、後は変更ができないと言うなら、管理者がセルの保護の操作をやれば良く、それを
VBAでやると、ボタン1つで出来ます。
    • good
    • 0

牽制効果なら、ツール→変更履歴の作成で、変更箇所の表示をしておくとセルが青い枠で囲われ、変更部分が分かります。

時間・変更前のデータが表示されるので、効果があるのでは?
    • good
    • 0

勤務時間の記録は当日に行いますか?



当日でしたら、

シートを予めパスワード付きで保護し、

マクロでシート保護解除、記録を入力、当日の日付分の記録
のセルをロック

再度シート保護(これもマクロで)

ではいかが?
    • good
    • 0

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

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