jeje, tiene gracia el problema, ya que las 2 de la madrugada corresponden al turno de noche...
Se me ocurre hacerlo por descarte: si no es mañana ni tarde, entonces es noche:
Dim fecha0 As Date = New Date(2013, 1, 13, 6, 0, 0) 'Inicio turno de mañana Dim fecha1 As Date = New Date(2013, 1, 13, 13, 59, 59) 'Fin turno de mañana Dim fecha2 As Date = New Date(2013, 1, 13, 14, 0, 0) 'Inicio turno tarde Dim fecha3 As Date = New Date(2013, 1, 13, 21, 59, 59) 'Fin turno de tarde Dim fecha As Date = New Date(2014, 1, 1, 23, 0, 0) 'Fecha que queremos probar If fecha.ToString("HH:mm:ss") >= fecha0.ToString("HH:mm:ss") And fecha.ToString("HH:mm:ss") <= fecha1.ToString("HH:mm:ss") Then MsgBox("Turno de mañana") ElseIf fecha.ToString("HH:mm:ss") >= fecha2.ToString("HH:mm:ss") And fecha.ToString("HH:mm:ss") <= fecha3.ToString("HH:mm:ss") Then MsgBox("Turno de tarde") Else MsgBox("Turno de noche") End If