2016-07-15 94 views
0

在小區我是新來的,目前我在使用VB在Excel建立一個宏觀的分配。這是我設置爲當前小區的邏輯:設置If語句上取決於時間框架

Private Sub Worksheet_Change(ByVal Target As Range) 

If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then 

Range("D" & Target.Row) = Date 

Range("E" & Target.Row) = Format(Now, "hh:mm:ss") 

End If 

End Sub 

每當有人進入B行單元格內的信息,它會自動獲得的日期和時間(樣的日誌)進入時。我需要的是在不同的時間框架,我得到的電池E,我需要得到的信息是基於從電池E的時間幀分成不同的行上計算的轉變。

  • 移位1 = 6:30 am-2:30pm
  • 移位2 =下午2:30 - 下午11時30
  • 移位3 =下午11時30 - 上午6:30

任何建議?

+0

使用IF語句,所以如果不是x和更少的更大的ΔE值則X則值= X? – StevenWalker

+0

我剛剛得到了答案 – Deluq

回答

1

我剛剛得到了答案,那就是如果語句加起來3,如下所示:

If Time > TimeValue("6:30:00") And Time <= TimeValue("14:30:00") Then Range("F" & Target.Row) = "1st Shift" 


If Time > TimeValue("14:30:01") And Time <= TimeValue("23:30:00") Then Range("F" & Target.Row) = "2nd Shift" 


If Time > TimeValue("23:30:01") And Time <= TimeValue("6:30:00") Then Range("F" & Target.Row) = "Overtime" 
+0

幹得好!很高興你到了那裏,你可以從中汲取一些滿足感:)。您也可以考慮將3個IF語句轉換爲一個,如下所示:如果x> x And x x And x StevenWalker

+0

嗨史蒂芬,謝謝。是的,只會設置一個語句,不要擔心它發生的語法。 – Deluq