Как получить разные значения времени из одной ячейки, но не в разных? - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть лист Excel, подобный этому:

   9/2/2018
 3:00PM-11:00PM  
full time(8hr) - 3 PM  
 3:00PM- 4:15PM  
Immediate  
 4:15PM- 4:30PM  
Break  
 4:30PM- 5:45PM  
Immediate  
 5:45PM- 6:15PM  
Break  
 6:15PM- 9:45PM  
Immediate  
 9:45PM-10:00PM  
Break  
10:00PM-11:00PM  
Immediate  

все это в одной ячейке в том же порядке и я хочу взять каждый временной диапазон один за другим и поместить его в разные ячейки?

результат должен быть таким

я хочу взять время начала трех перерывов и разделить, как на картинке

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Я хочу взять три начала перерыва

Вы можете попробовать это

Function GetBreaksStartTime(txt As String)
    Dim i As Long
    Dim arr As Variant

    arr = Split(txt, "Break")
    If UBound(arr) > 0 Then
        ReDim startTimes(1 To UBound(arr)) As String
        For i = 1 To UBound(arr)
            startTimes(i) = WorksheetFunction.Trim(Replace(Split(arr(i), "-")(0), vbLf, ""))
        Next
        GetBreaksStartTime = startTimes
    End If

End Function

, который вы можете использовать в своем основном коде как

Dim breaksStartTime As Variant, startTime as variant

breaksStartTime = GetBreaksStartTime(Range("A1").Value2)
For Each startTime in breaksStartTime 
    MsgBox startTime
Next
0 голосов
/ 09 сентября 2018

С данными в A1 , в B1 введите:

 =TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",999)),(2*COLUMNS($A:A)-1)*999-998,999))

и скопируйте через:

enter image description here

Каждый диапазон времени находится в своей собственной ячейке. Мы просто анализируем строку на CHAR(10) и выбираем все нечетные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...