2011-12-09 10 views
1

Excelシートは次のようになります。マクロを使用してExcelシートで経過時間を計算する

A --------------------- B ---- ----------------- C
Intime ---------------- Outtime ------------ ---経過時間
10:00 AM --------------
11:00 AM --------------
9:00 AM

私はB列にデータを入力すると、このマクロを使用して行われる必要があります....

場合にのみ、列Cに計算します

+1

欄Bには何が入力されますか? –

+2

なぜマクロですか?列AとBにExcel時間が含まれている場合、C2を "= IF"(B2 = ""、 ""、B2-A2)に設定してコピーします。 Excelの時刻は0(00:00:00)から.999988(23:23:59)の間の数値であることに注意してください。 –

答えて

4
Private Sub Worksheet_Change(ByVal Target As Excel.Range) 'when entering data in a cell in Col B 
On Error GoTo enditall 
Application.EnableEvents = False 
    If Target.Cells.Column = 2 Then 
     n = Target.Row 
    If Me.Range("B" & n).Value <> "" Then 
     Me.Range("C" & n).Value = Format(Me.Range("B" & n).Value - Me.Range("A" & n).Value, "hh:mm:ss") 
    End If 
    End If 
enditall: 
Application.EnableEvents = True 
End Sub 

シートタブと「コードの表示」を右クリックし....これを解決するために私を助けてください。

コードをそのシートモジュールに貼り付けます。

Alt + qを押してExcelウィンドウに戻ります。

関連する問題