Страницы: 1
RSS
VBA. InStrRev, как-то странно себя ведет
 
Здравствуйте
Стою на асфальте я в лыжи обутый...
Код
Sub gfg()
c = "53.785154545,27.54455"
lon = InStrRev(c, ",")
MsgBox lon
End Sub

У меня показывает 13, должно быть 9. Вот и стою... в лыжах
Что это может быть?
 
Сено - солома, право - лево, справа - слева, с начала - с конца... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
jfd пишет:
должно быть 9
срочно телеграфируйте об этом в Microsoft.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
А по существу?
 
Цитата
jfd пишет: А по существу?
Объясните на словах/примере из чего что каким макаром желаете получить... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Z, хочу узнать каким символом по счету, с конца строки, является "," используя функцию InstrRev и не используя Len© - InStr(c, ",") + 1
и ничего кроме, честно
Изменено: jfd - 14.04.2013 18:59:21
 
Может так яснее будет:
Код
Sub rrrr()
    c = "w,www,ww"
    MsgBox InStrRev(c, ",")
    MsgBox InStr(c, ",")
    MsgBox InStr(StrReverse(c), ",")
End Sub
Изменено: Hugo - 14.04.2013 19:14:54
 
позиция, считая с конца строки, в любом случае будет вычисляться с помощью Len.
если искомый символ (точнее, подстрока) уникален и встречается в исходной строке один раз - разницы нет, что использовать - InStr или InStrRev.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Hugo, да, спасибо, стало понятно, видимо для некоторых вроде меня надо в справке по подробнее расписывать  :D
 
Z, ikki, вам тоже спастбо
 
Да, в справке непонятно:
Returns the position of an occurrence of one string within another, from the end of string.
Можно предположить, что позиция считается с конца строки :)
Страницы: 1
Читают тему
Наверх