[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『あるセルに記入すると1時間増える』(おかし)
質問です。
あるセルに文字を打ち込むとその他のセルの時間が1時間プラスされる。という表を作成したいと考えています。
今現在の表です。
日付 名前 開始 終了 備考
1/10 A 11:30 15:00
1/10 B 11:30 14:00 美術
1/11 A 11:30 15:00
上記の表の場合、1/10のBさんが美術を行うので、開始時間が11:30からではなく、12:30からというように備考欄に記入されたときに自動的に開始時刻を1時間プラスされるように作りたいです。
ご教授お願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
開始時刻は数式か何かで引っ張ってきてるのでしょうか? 手入力ですか? 数式でしたら、条件分岐すればいいですけど、手入力してある場合は マクロ等でないと+1時間するのは出来ないと思います。 (カリーニン) 2019/01/10(木) 18:51
ワークシートモジュールの Changeイベントを使用します。
「備考」の列のセル内容が変更された時に 「開始」の列に時刻が既に入っていたら1時間 プラスするようにすればいいと思います。
+1時間はシリアル値で +1/24 になります。
(カリーニン) 2019/01/12(土) 18:39
丸出しだけどコードをアップしておきます。
シートモジュールに記述します。
「備考」がE列、「開始」がC列との前提です。
Private Sub Worksheet_Change(ByVal Target As Range)
'変更したセルが5列目(E列)だったら If Target.Column = 5 Then
'変更したセルの2列左が数値だったら If IsNumeric(Target.Offset(, -2)) Then
'変更したセルの2列左が日付データだったら(時刻でもOK) If IsDate(CDate(Target.Offset(, -2).Value)) Then
'変更したセルの2列左の数値に1/24(1時間)プラスする Target.Offset(, -2).Value = Target.Offset(, -2).Value + 1 / 24
End If End If End If End Sub (カリーニン) 2019/01/12(土) 19:38
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.