Страницы: 1
RSS
поставить перед каждым словом в ячейке восклицательный знак
 
Здравствуйте, очень нужна помощь по редактированию фраз. Предположим у меня есть слово МОСКВА, а нме нужно из него получить слова такого вида -    
"МОСКВА"  
!МОСКВА  
"!МОСКВА"  
 
тоже самое если несколько слов в ячейке: предположим фраза  
Званый ужин  
а нужно получить следующие слова:  
"Званый ужин"  
!Званый !ужин  
"!Званый !ужин"  
 
по поводу ковычек все в принципе понятно, я могу использовать функцию сцепить, а вот как подставить восклицательный знак перед каждым словом, я не знаю, помогите пожалуйста.
 
Предварительно выделите область на листе  
 
Sub io()  
Dim v, j$, x As Object  
For Each x In Selection.Cells: j = ""  
   For Each v In Split(x.Value, " "): j = j & " !" & v: Next  
   x.Value = LTrim(j)  
Next  
End Sub
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=20.10.2011 10:45}{thema=}{post}Предварительно выделите область на листе  
 
Sub io()  
Dim v, j$, x As Object  
For Each x In Selection.Cells: j = ""  
   For Each v In Split(x.Value, " "): j = j & " !" & v: Next  
   x.Value = LTrim(j)  
Next  
End Sub{/post}{/quote}  
 
простите, что-то у меня не очень получается( я совсем профан, но это очень надо по работе, не могли бы поподробнее описать куда и что вставлять?) если можно конечно
 
Копируете код с форума, открываете файл, правый клик на ярлычке листе (исходный текст), вставить, Alt+F11. Затем, на листе выделяете ту область, кот. необходимо обработать, Alt+F8, Enter.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=20.10.2011 10:57}{thema=}{post}Копируете код с форума, открываете файл, правый клик на ярлычке листе (исходный текст), вставить, Alt+F11. Затем, на листе выделяете ту область, кот. необходимо обработать, Alt+F8, Enter.{/post}{/quote}  
 
Огромное Вам спасибо!!!  
 
А подскажите, нельзя ли сделать так, чтобы я в один столбец вводила слова, а во втором они были уже с восклицательными знаками, ну чтобы не нужно было каждый раз нажимать Alt+F8?
 
Апетит приходит во время званного ужина!:-)
 
{quote}{login=RAN}{date=20.10.2011 11:14}{thema=}{post}Апетит приходит во время званного ужина!:-){/post}{/quote}  
 
)) нет, дело в том, что я занимаюсь контекстной рекламой, и такая схема смогла бы сэкономить мне очень много времени при подборе и добавлении слов, но вот с Excel у меня не очень-то хорошо((
 
Можно код переписать как UDF и протянуть по столбцам 3 варианта этой формулы.
 
{quote}{login=Hugo}{date=20.10.2011 11:29}{thema=}{post}Можно код переписать как UDF и протянуть по столбцам 3 варианта этой формулы.{/post}{/quote}  
 
а можете подробнее рассказать? буду очень признательна
 
Например так (попаразитровав :)):  
 
 
Function io(r As Range)  
Dim v, j$  
For Each v In Split(Application.Trim(r.Value)): j = j & " !" & v: Next  
io = LTrim(j)  
End Function  
 
 
Это вариант от nerv, над другими думать нужно :)
 
{quote}{login=Hugo}{date=20.10.2011 11:36}{thema=}{post}Например так (попаразитровав :)):  
 
 
Function io(r As Range)  
Dim v, j$  
For Each v In Split(Application.Trim(r.Value)): j = j & " !" & v: Next  
io = LTrim(j)  
End Function  
 
 
Это вариант от nerv, над другими думать нужно :){/post}{/quote}  
 
а куда это вставлять? так же как и тот вариант?
 
Хотя что тут думать...  
 
 
Function ioo(r As Range)  
Dim v, j$  
For Each v In Split(Application.Trim(r.Value)): j = j & " !" & v: Next  
ioo = LTrim(j)  
ioo = """" & ioo & """"  
End Function  
 
 
Получите "!adad !sdgfsdg"
 
{quote}{login=Hugo}{date=20.10.2011 11:40}{thema=}{post}Хотя что тут думать...  
 
 
Function ioo(r As Range)  
Dim v, j$  
For Each v In Split(Application.Trim(r.Value)): j = j & " !" & v: Next  
ioo = LTrim(j)  
ioo = """" & ioo & """"  
End Function  
 
 
Получите "!adad !sdgfsdg"{/post}{/quote}  
 
я честно почти ничего в этих кодах не понимаю, куда это нужно вставлять, чтобы формула для столбца только работала? :)
 
Почти.  
Сделать модуль и туда.  
См. пример
 
{quote}{login=Hugo}{date=20.10.2011 11:43}{thema=}{post}Почти.  
Сделать модуль и туда.  
См. пример{/post}{/quote}  
 
Огромное спасибо. Как сделать модуль поняла, а еще скажите, какой код нужен чтобы просто заковычить (без восклицательных знаков)?? и еще так мне на будущее - это на каком языке эти коды написаны??
 
Просто закавычить можно и стандартными функциями ( так что ioo() тоже в принципе лишняя, можно обойтись).  
Ну а если уж УДФ, то вот:  
 
 
Function iooo(r As Range)  
iooo = """" & r & """"  
End Function
 
Про язык забыл - VBA - Visual Basic for Application. Так вроде...
 
{quote}{login=Hugo}{date=21.10.2011 12:08}{thema=}{post}Про язык забыл - VBA - Visual Basic for Application. Так вроде...{/post}{/quote}  
 
Преогромнейшее спасибо, Вы даже не представляете, как мне помогли!!!!!!!)))  
 
а язык будем осваивать)
 
А что формулисты молчат, выходной что-ли?  
Если брать пример Уважаемого Hugo, то:  
 
=""""&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";" !")&""""  
 
-----  
64575
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх