Excel VBA Math просто не складывается - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть строка кода, которая отлично работает и получает то, что я хочу, но я немного запуталась в том, как она это делает ??

MyStr = "ПРОИЗВОДИТЕЛЬ: LIEBHERR"

Вот код и результат:

? VBA.Right (MyStr, VBA.Len (MyStr) - Application.Find (":", MyStr) -1)= LIEBHERR

Отлично !!!!!!

Так вот мой вопрос.

? VBA.Len (MyStr) = 22 * ​​1018 *

? Application.Find (":", MyStr) -1 = 12

Таким образом, объединение двух приведенных выше операторов и использование команды VBA.Right при вычитании 12из 22 мне кажется, что я должен получить 10, но .......

? VBA.Len (MyStr) - Application.Find (":", MyStr) -1 = 8

Опять же, я получаю то, что хочу, но я не понимаю, чего мне не хватает в моей математике ???

1 Ответ

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

Правильно, проблема в том, что вы не можете сделать Application.Find(":", MyStr)-1 самостоятельно:

VBA.Len(MyStr) - Application.Find(":", MyStr)-1

= 22 - 13 -1

= 9 - 1

= 8

Вы ошибочно думаете об этом как:

= 22 - (13 - 1)

...