Подстрока в VBA

У меня есть несколько строк в разных ячейках, например

CO20:  20 YR CONVENTIONAL
FH30:  30 YR FHLMC
FHA31   

Мне нужно получить подстроку от 1 до индекса ':' или если это не доступно до конца (в случае строки 3). Мне нужна помощь в написании этого в VBA.

Ответы

Ответ 1

Короче:

   Split(stringval,":")(0)

Ответ 2

Сначала проверьте значение ":", затем возьмите тестовую строку до ":" или "конец", в зависимости от того, найден ли она

Dim strResult As String

' Position of :
intPos = InStr(1, strTest, ":")
If intPos > 0 Then
    ' : found, so take up to :
    strResult = Left(strTest, intPos - 1)
Else
    ' : not found, so take whole string
    strResult = strTest
End If

Ответ 3

Вы можете сначала найти позицию строки в этом случае: "

'position = InStr(StringToSearch, StringToFind)
position = InStr(StringToSearch, ":")

Затем используйте Left (StringToCut, NumberOfCharacterToCut)

Result = Left(StringToSearch, position -1)