Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2012, 20:17   #1
selform
Новичок
Джуниор
 
Регистрация: 01.11.2012
Сообщений: 1
По умолчанию Как сделать сложную замену внутри строки

1)Вообщем нужно заменить следующее:

Main2,,,2,0,Main,,-1,-1,-1,,,MainEpoch2,420,0,0,0,0,0,0,0,0, 0,2,,[],(None)
таких строк у меня оч много остальные выглядят так:
Main3,,,2,0,Main,,-1,-1,-1,,,MainEpoch2,560,0,0,0,0,0,0,0,0, 0,2,,[],(None)
Main4,,,2,0,Main,,-1,-1,-1,,,MainEpoch2,360,0,0,0,0,0,0,0,0, 0,2,,[],(None)
и т.д.
Нужно изменить символ "2" который находится почти в конце строки например на символ 50 причём с каждой последующей заменой к 50ти должно прибавляться 15.

2)И ещё вот нужно заменить в первой строке последний нолик на 30(имею ввиду вот эту строчку и в ней последний ноль:"HeavyInfantry2_08_Veteran,tex t_tt_upgrade_veteran,,8,0,Improveme nt,icon_tech_upgrade_veteran,0,1,3, HeavyInfantry2,,HeavyInfantry2Epoch 8Veteran,60,0,100,0,100,0,0,100,0,0 ,0(вот он последний),,[],(None)". Причем Следующая строка которая (HeavyInfantry2_08_Elite,text_tt_up grade_elite,,8,0,Improvement,icon_t ech_upgrade_elite,0,1,3,HeavyInfant ry2,,HeavyInfantry2Epoch8Elite,60,0 ,100,0,100,0,0,100,0,0,0,,[HeavyInfantry2_08_Veteran],(None)) в ней также надо изменить последний нолик, но уже не на 30, а на 60. И должно получиться так, в первой строки нолик заменяется на 30, во второй на 60. В третьей на 30, в четвёртой на 60, в пятой на 30, в шестой на 60, в седьмой на 30, в восьмой на 60 и так далее.

Вот как выглядят все строки(я их пронумерую первый несколько чтобы было понятно):
1)HeavyInfantry2_08_Veteran,text_tt _upgrade_veteran,,8,0,Improvement,i con_tech_upgrade_veteran,0,1,3,Heav yInfantry2,,HeavyInfantry2Epoch8Vet eran,60,0,100,0,100,0,0,100,0,0,0,,[],(None)
2)HeavyInfantry2_08_Elite,text_tt_u pgrade_elite,,8,0,Improvement,icon_ tech_upgrade_elite,0,1,3,HeavyInfan try2,,HeavyInfantry2Epoch8Elite,60, 0,100,0,100,0,0,100,0,0,0,,[HeavyInfantry2_08_Veteran],(None)
3)HeavyArtillery_08_Veteran,text_tt _upgrade_veteran,,8,0,Improvement,i con_tech_upgrade_veteran,0,1,3,Heav yArtillery,,HeavyArtilleryEpoch8Vet eran,60,0,200,0,200,0,0,200,0,0,0,,[],(None)
4)HeavyArtillery_08_Elite,text_tt_u pgrade_elite,,8,0,Improvement,icon_ tech_upgrade_elite,0,1,3,HeavyArtil lery,,HeavyArtilleryEpoch8Elite,60, 0,200,0,200,0,0,200,0,0,0,,[HeavyArtillery_08_Veteran],(None)
5)LightMounted1_08_Veteran,text_tt_ upgrade_veteran,,8,0,Improvement,ic on_tech_upgrade_veteran,0,1,3,Light Mounted1,,LightMounted1Epoch8Vetera n,60,0,150,0,150,0,150,0,0,0,0,,[],(None)
6)LightMounted1_08_Elite,text_tt_up grade_elite,,8,0,Improvement,icon_t ech_upgrade_elite,0,1,3,LightMounte d1,,LightMounted1Epoch8Elite,60,0,1 50,0,150,0,150,0,0,0,0,,[LightMounted1_08_Veteran],(None)
HeavyMounted1_08_Veteran,text_tt_up grade_veteran,,8,0,Improvement,icon _tech_upgrade_veteran,0,1,3,HeavyMo unted1,,HeavyMounted1Epoch8Veteran, 60,150,0,0,150,0,150,0,0,0,0,,[],(None)
HeavyMounted1_08_Elite,text_tt_upgr ade_elite,,8,0,Improvement,icon_tec h_upgrade_elite,0,1,3,HeavyMounted1 ,,HeavyMounted1Epoch8Elite,60,150,0 ,0,150,0,150,0,0,0,0,,[HeavyMounted1_08_Veteran],(None)
Galleon_08_Veteran,text_tt_upgrade_ veteran,,8,0,Improvement,icon_tech_ upgrade_veteran,0,1,3,Galleon,,Gall eonEpoch8Veteran,120,0,200,0,200,0, 200,0,0,0,0,,[],(None)
Galleon_08_Elite,text_tt_upgrade_el ite,,8,0,Improvement,icon_tech_upgr ade_elite,0,1,3,Galleon,,GalleonEpo ch8Elite,120,0,200,0,200,0,200,0,0, 0,0,,[Galleon_08_Veteran],(None)
FightingSail_08_Veteran,text_tt_upg rade_veteran,,8,0,Improvement,icon_ tech_upgrade_veteran,0,1,3,Fighting Sail,,FightingSailEpoch8Veteran,100 ,0,200,0,200,0,200,0,0,0,0,,[],(None)
FightingSail_08_Elite,text_tt_upgra de_elite,,8,0,Improvement,icon_tech _upgrade_elite,0,1,3,FightingSail,, FightingSailEpoch8Elite,100,0,200,0 ,200,0,200,0,0,0,0,,[FightingSail_08_Veteran],(None)
Frigate_08_Veteran,text_tt_upgrade_ veteran,,8,0,Improvement,icon_tech_ upgrade_veteran,0,1,3,Frigate,,Frig ateEpoch8Veteran,80,0,200,0,200,0,2 00,0,0,0,0,,[],(None)
Frigate_08_Elite,text_tt_upgrade_el ite,,8,0,Improvement,icon_tech_upgr ade_elite,0,1,3,Frigate,,FrigateEpo ch8Elite,80,0,200,0,200,0,200,0,0,0 ,0,,[Frigate_08_Veteran],(None)
selform вне форума Ответить с цитированием
Старый 01.11.2012, 21:28   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А какое отношение ваш вопрос имеет к теме раздела - Microsoft Excel?

Если вам надо выполнить замены в файле Excel - так вы его и прикрепите к сообщению (в архиве), так куда проще будет разобраться.
EducatedFool вне форума Ответить с цитированием
Старый 02.11.2012, 13:49   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Как сделать сложную замену внутри строки
Мне проще макросом
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 02.11.2012, 14:24   #4
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

По второму вопросу если строк не очень много можно так:
Код:
Sub QWERT()
Dim R, M() As String
    For R = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        M = Split(Cells(R, 1).Value, ",")
        M(23) = 30 + 30 * (R Mod 2)
        Cells(R, 1) = Join(M, ",")
    Next R
End Sub
если строк много - лучше загнать в массив и там обработать
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ не могу понять как сделать массив объектов одного класса в другом (задание внутри) Vladimir_Anatol Помощь студентам 2 12.03.2012 18:56
Как сделать замену символов в Memo на личные? Зод Общие вопросы Delphi 12 09.03.2012 14:59
Проблема в html шаблоне, как сделать так?(описание внутри) Melekhin HTML и CSS 6 22.02.2012 18:29
Надо составить сложную-сложную формулу natincom Microsoft Office Excel 4 29.08.2011 09:03
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48