| 
    
     |  | MOM さん こんばんは もう直ぐマクロのとりこになりそうですね
 
 やっと何がしたいが解った様な気がします。(本当かな?)
 シートレイアウトは
 A列に日付け、B列が8:00〜8:30、C列が8:30〜9:00 ・・・
 8時間勤務ならQ列が16:30〜17:00 の16列 色付けするセルがある
 というようなレイアウトでしょうか?
 
 |8:00〜8:30|8:30〜9:00|9:00〜9:30|
 1日|
 2日|
 
 
 プロジェクトウインドウ(多分、VBE画面の左側にあるシートがいくつかぶら下がった小窓)の計算したいシートをダブルクリックして、そこに貼り付けてください
 
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 Dim Ans   As Variant  '実行/キャンセル 用
 Dim rTmp  As Range   'For Each 用
 Dim i    As Long   '右クリックした行
 Dim 赤個数 As Double  '足し算用
 Dim 黄個数 As Double  '足し算用
 Dim 青個数 As Double  '足し算用
 Dim 緑個数 As Long   '足し算用
 
 If Target.Column <> 18 Then Exit Sub  'R列じゃなかったら
 Ans = MsgBox("確定しますか? 確定=OK ボタン / やり直し=キャンセル ボタン", vbOKCancel)
 If Ans = 2 Then Exit Sub  'キャンセルボタンで終了
 Cancel = True        '??内緒!
 i = Target.Row       '右クリックした行(計算したい行)
 
 For Each rTmp In Range("B" & i & ":Q" & i)
 Select Case rTmp.Interior.ColorIndex
 Case 3 ' 赤
 赤個数 = 赤個数 + 0.5
 Case 6 ' 黄色
 黄個数 = 黄個数 + 0.5
 Case 5 ' 青
 青個数 = 青個数 + 0.5
 Case 10 ' 緑
 緑個数 = 緑個数 + 1
 End Select
 Next rTmp
 
 Range("S" & i).Value = 赤個数
 Range("T" & i).Value = 黄個数
 Range("U" & i).Value = 青個数
 Range("V" & i).Value = 緑個数 / 2 '他の案(最後に割る)
 
 End Sub
 
 上記は、右クリックした時に勝手に走るマクロです。
 (シートモジュールに書いた右クリックイベントのマクロ)
 他にも勝手に走るマクロ(イベント)がいっぱいあります。
 私は、その日毎に計算されるほうが良いと思います。
 一日の入力が終了したら、その日の行の R列 を右クリックして計算します。
 
 
 *まったく違ってたらパスしてね!
 それと >実は今一生懸命30日分作ったのですが処理が重そうなので
 あのマクロも処理自体そんなにかわりません。マクロを書く労力は違いますけど・・・
 
 りったさんのマクロ何処に書けば良いんでしょう?
 興味とやる気はありますが、知識に・・・。
 良かったら教えてください。
 
 |  |