Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по команде Replaсe, как-то не так работает / 2 сообщений из 2, страница 1 из 1
09.08.2011, 16:01
    #37387467
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по команде Replaсe, как-то не так работает
Написал макрос для замены в выделенном диапазоне ячеек Римских чисел (в пределах первых двадцати I-XX) на Арабские. Цифры могут встречаться внутри текста в любом месте.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub Замена_Римских_цифр_на_Арабские()
 Dim i As Integer
 Dim a As Variant
 
 a = Array("I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX")
 
 With Selection
 
   For i =  20  To  1  Step - 1 
    .Replace What:=a(i -  1 ), Replacement:=i, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
   Next i
   
 End With
End Sub

Но макрос работает некорректно, а точнее как-то не корректно работает команда Replace.

К примеру пусть в выделенной ячейке некий текст "текстIV", после работы макроса получиться "текст15".
Хотя к примеру код
Код: plaintext
.Replace What:="IV", Replacement:="4", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
сделает замену корректно, т.е. получиться "текст4".

Экспериментируя пришёл к выводу, что Replace по разному работает в случае когда непосредственно в коде вбиты литералы и в случае, когда вместо литералов переменные. Можно ли как-то побороть это, не хотелось бы писать 20 строк кода.
...
Рейтинг: 0 / 0
09.08.2011, 16:09
    #37387491
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по команде Replaсe, как-то не так работает
блин, я понял. в чем беда
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по команде Replaсe, как-то не так работает / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]