Разбор части текста из ячейки - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть ячейка, которая продолжает добавлять «разделы» в ячейку, основываясь на активности пользователя, с самой последней наверху (так что могут возникать дубликаты). Пример одной из ячеек:

STATUS: PRELOAD ERROR: : 
NOTE: N/A
BY: SMITH, JOHN
AT: 3/20/2020 2:45:37 PM
 ---------------------------------------- 
STATUS: PRELOAD ERROR: GPS PRELOAD IS MISSING: GPS
NOTE: EMPLOYEE DEAL
BY: SMITH, JOHN
AT: 3/20/2020 2:45:37 PM
 ---------------------------------------- 
STATUS: PRELOAD ERROR: PRELOAD IS MISSING: THEFT
NOTE: EMPLOYEE DEAL
BY: SMITH, JOHN
AT: 3/20/2020 2:45:37 PM
 ---------------------------------------- 
STATUS: PRELOAD ERROR: PRELOAD IS MISSING: APPERANCE
NOTE: EMPLOYEE DEAL
BY: SMITH, JOHN
AT: 3/20/2020 2:45:37 PM
 ---------------------------------------- 
STATUS: CLEANED
NOTE: PRINTED RECAP SHEET
BY: SMITH, JOHN
AT: 3/20/2020 2:45:37 PM
 ---------------------------------------- 
STATUS: HOUSE DEAL ENTRY
NOTE: EMPLOYEE DEAL
BY: SMITH, JOHN
AT: 3/20/2020 2:44:54 PM
 ---------------------------------------- 
STATUS: CLEANED
NOTE: PRINTED RECAP SHEET
BY: SMITH, JOHN
AT: 3/20/2020 2:44:54 PM
 ---------------------------------------- 

Я хочу иметь возможность извлечь самый последний раздел «STATUS: HOUSE DEAL ENTRY», который будет включать 3 строки после него. Результат должен быть:

STATUS: HOUSE DEAL ENTRY
NOTE: EMPLOYEE DEAL
BY: SMITH, JOHN
AT: 3/20/2020 2:44:54 PM

как я могу сделать это с VBA или это возможно с формулой Excel?

Заранее спасибо!

1 Ответ

0 голосов
/ 14 апреля 2020

Я понял это.

Dim StatusHistory As String
Dim FindHouse() As String

StatusHistory = FILOGData.Range("T1277").Value
FindHouse = Split(StatusHistory, " ---------------------------------------- ")

For i = 0 To UBound(FindHouse)

If InStr(FindHouse(i), "STATUS: HOUSE DEAL ENTRY") > 0 Then
        MsgBox FindHouse(i)
End If

Next i

Мысли?

...