Тема: помогите исправить ошибку

здесь лежит небольшая прога на VBA
короче она экспортирует координаты точек в SDR файл
указываю точки на экране (или выделяю объекты) задаю имея первой точки и последующие нумеруются автоматом.
а ошибка вот какая: даю имя первой точки например K2-22, а он ее записывает как K-222 и последующие нумерует как K-223, K-224, K-225..., а должны быть поидее K2-23, K2-24, K2-25...

Re: помогите исправить ошибку

забыл ссылку дать
http://stream.ifolder.ru/3157602

Re: помогите исправить ошибку

> Grigarash
На первый взгляд все пишет правильно
просто после K-22 должен быть пробел, а
вместо этого к 22 прилепляется первая цифра
координаты
Впрочем я не спец, посмотрю завтра еще
(ну ты и перец!!!)
~'J'~

Re: помогите исправить ошибку

> Grigarash

For i = 1 To TextLen
  Char = Mid(strName, i, 1)
      If Char < "0" Or Char > "9" Then
      PrefixName = PrefixName & Char
      End If
      If Char > "/" And Char < ":" Then
      NumName = NumName & Char
      End If
  Next

Первый If собирает всё, что не цифры. Второй If собирает все цифры.
Вариант

For i = 1 To TextLen
   Char = Mid(strName, i, 1)
   PrefixName = PrefixName & Char
   If Char = "-" Then
      For j = i + 1 To TextLen
         Char = Mid(strName, j, 1)
         If Char Like "#" Then NumName = NumName & Char
      Next
      Exit For
   End If
Next

Re: помогите исправить ошибку

вот так типа у тебя:
stroka = "K1-22" 'исходная строка
outStroka = stroka + n
вот так работает:
stroka = "K1-22" 'исходная строка
outStroka = (Left(stroka, m)) & Right(stroka, (Len(stroka) - m)) + n

Re: помогите исправить ошибку

Чуть не так, а вот так:
stroka = "K1-22" 'исходная строка
m = InStr(stroka, "-")
outStroka = (Left(stroka, m)) & Right(stroka, (Len(stroka) — m)) + n