Подстрока в VBA - PullRequest
       31

Подстрока в VBA

20 голосов
/ 19 мая 2011

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

CO20:  20 YR CONVENTIONAL
FH30:  30 YR FHLMC
FHA31   

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

Ответы [ 3 ]

29 голосов
/ 19 мая 2011

Короче:

   Split(stringval,":")(0)
11 голосов
/ 19 мая 2011

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

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
5 голосов
/ 19 мая 2011

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

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

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

Result = Left(StringToSearch, position -1)
...