Страницы: 1
RSS
Перемещение слов по очереди в одной ячейке
 
Добрый вечер, прошу помочь!
Необходим макрос:
В пределах одной ячейки перемещать слова по очереди. При этом не затрагивая весь столбец, только выделенную ячейку. Файл прилагаю.
На просторах интернета нашла такой макрос, но он перемещает все слова в столбце А. К сожалению, я не знаю как его подкорректировать...
Код
Sub Перестановка_всех_слов()
With Range("A1", Cells(Rows.Count, "A").End(xlUp))
    .Value = Evaluate(Replace("INDEX(RIGHT(~,LEN(~)-FIND("" "",~))&"" ""&LEFT(~,FIND("" "",~)-1),)", "~", .Address))
End With
End Sub
 
Цитата
В пределах одной ячейки перемещать слова по очереди
Код
Sub Перестановка()
Dim arr
   arr = Split(ActiveCell, " ", 2)
   ActiveCell = arr(1) & " " & arr(0)
End Sub
 
Огромное спасибо!!!!!!)))))
 
Veronikali, у Вас ведь уже есть аналогичная тема и с готовыми решениями - зачем создали ещё одну?
 
Предыдущая тема другая. Там меняли местами 2 слова, а тут все слова по карусели.
 
Ну, раз карусель, то конечно ))
 
Поигрался с вашими "каруселями" - сделал в обе стороны и примотал предыдущую тему  :D, см. вкладку "Изменение порядка слов"
Код
Sub rot_left(control As IRibbonControl)
    If ActiveCell = "" Then Exit Sub
    arr = Split(ActiveCell, " ", 2)
    ActiveCell = arr(1) & " " & arr(0)
End Sub

Sub rot_right(control As IRibbonControl)
    If ActiveCell = "" Then Exit Sub
    arr = Split(StrReverse(ActiveCell), " ", 2)
    ActiveCell = StrReverse(arr(1) & " " & arr(0))
End Sub
Изменено: buchlotnik - 09.07.2019 00:39:31
Соблюдение правил форума не освобождает от модераторского произвола
 
Благодарю Вас!!!)))
Страницы: 1
Наверх