Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


29185 / 76732 ←次へ | 前へ→

【52832】Re:WorksheetChangeイベント
回答  りん E-MAIL  - 07/12/5(水) 14:34 -

引用なし
パスワード
   KOOL さん、こんにちわ。

>この場合ですと「出社時間と」「退社時間」が入力された時点で
>「稼働時間」の計算をし、「3:00」の数字を出したいと思います。

>2箇所が入力された場合のやり方がわかりません。
>そして、それを1か月分記述するにはどうしたらよいでしょうか。

入力されたセルの行と列をチェックして、さらに二つのセルの値が入っていることを確認できたら実行するようにしました。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim RR As Long, CC As Long
  RR = Target.Row: CC = Target.Column
  '
  If CC = 2 Or CC = 3 Then
   Select Case RR
     Case 2 To 32 'データが2行目から始まっているとして
      If Cells(RR, 2).Value <> 0 And Cells(RR, 3).Value <> 0 Then
        Application.EnableEvents = False 'イベント停止
        'ここで計算結果をD列に入れる
        Cells(RR, 4).Value = Cells(RR, 3).Value - Cells(RR, 2).Value
        Application.EnableEvents = True 'イベント再開
      End If
   End Select
  End If
End Sub

こんな感じです。
0 hits

【52829】WorksheetChangeイベント KOOL 07/12/5(水) 13:43 質問
【52832】Re:WorksheetChangeイベント りん 07/12/5(水) 14:34 回答
【52834】Re:WorksheetChangeイベント KOOL 07/12/5(水) 15:12 お礼

29185 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free