2016-04-25 10 views
0

タイムスタンプに従って行の特定のセルに作業シフトラベル(Day、Swing、Grave)を追加しようとしていますエントリ。タイムスタンプがない場合は、何もしません。Excel VBA:時間が2回の場合は、空白ではなく行にテキストを追加します。

タイムスタンプは "hh:mm:ss"とフォーマットされ、6th/F行にあります。

これはこれまで私が行ってきたことです。 4行目がなければ、すべてのエントリにDayとラベル付けされます。そうでなければダイスはありません。

If IsEmpty(cel.Value) Then Exit For

あなたのロジックテストを修正します:あなたはCell.Value、ないcel.valueを持っているので、

Sub Shift() 
Dim Time As Date, cel As Range 
For Each cel In Range("F2:F100000") 
    If IsEmpty(cell.Value) Then Exit For 
     If Time > TimeValue("06:00:00") And Time < TimeValue("14:00:00") Then 
      cel.Offset(0, 2).Value = "Day" 
     End If 
Next 

End Sub 
+0

「時間」は0であり、時間は割り当てられていない。 –

答えて

2

四行目はあなたに予期しない何かを投げている理由は、あります。また、Timeを割り当てる必要があります。それ以外の場合は、00:00:00を使用します。

編集:私非常にあなたがサブのトップにOption Explicitを追加提案する(またはExcelのオプションを経由して)。変数を使用している場合は、これを宣言する必要があります。これで私はこのエラーを0.1秒間に捉えました。マクロをコピーして実行しようとしましたが、すぐにその行をハイライト表示しました。

関連する問題