Note: The other languages of the website are Google-translated. Back to English

Как переместить последнее слово в следующую соседнюю ячейку?

Предположим, у меня есть список текстовых строк, последнее слово которых я хочу переместить в следующую соседнюю ячейку, как показано на следующем снимке экрана. Конечно, вы можете вырезать и вставлять их по одной, но есть ли какие-нибудь быстрые способы переместить их сразу в следующую ячейку в Excel?

док переместить последнее слово в следующую ячейку 1

Переместить последнее слово в следующую соседнюю ячейку с кодом VBA

Извлечь последнее слово в следующую соседнюю ячейку с формулой


стрелка синий правый пузырь Переместить последнее слово в следующую соседнюю ячейку с кодом VBA

Чтобы вырезать и переместить последнее слово из одной ячейки в следующую соседнюю ячейку, примените следующий код VBA:

1. Удерживая нажатой ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: переместить последнее слово в следующую соседнюю ячейку:

Sub splitlastword()
    Dim xCell As Range
    Dim xStr As String
    Dim xAddress As String
    Dim xRg As Range
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selec the text cells:", "Kutools for Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
       MsgBox "Only one column in the seleted range", vbInformation, "Kutools for Excel"
       Exit Sub
    End If
    For Each xCell In xRg
        xStr = Trim(xCell.Value)
        xCell.Offset(0, 1) = Mid(xStr, InStrRev(xStr, " "))
        xCell.Value = Left(xStr, InStrRev(xStr, " "))
    Next
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, напоминающее вам о выборе текстовых ячеек, из которых вы хотите переместить последнее слово, см. снимок экрана:

док переместить последнее слово в следующую ячейку 2

4, Затем нажмите OK кнопки, последние слова в выбранных ячейках были немедленно перемещены в следующие соседние правые ячейки, см. снимок экрана:

док переместить последнее слово в следующую ячейку 1


стрелка синий правый пузырь Извлечь последнее слово в следующую соседнюю ячейку с формулой

Если вам просто нужно извлечь последние слова из текстовых строк, не перемещая их, следующая формула может оказать вам услугу.

Пожалуйста, введите эту формулу:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) в пустую ячейку рядом с текстовой ячейкой, а затем перетащите дескриптор заполнения вниз к ячейкам, из которых вы хотите извлечь последнее слово, все последние слова были извлечены из текстовых строк без перемещения исходных. Смотрите скриншот:

док переместить последнее слово в следующую ячейку 3


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (2)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я использовал удивительный код VBA! вопрос в том, как я могу выбрать первое или второе слово в ячейке для перемещения?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Липа,
Чтобы переместить первое, второе или n-е слово из ячеек, примените следующий код:

Внимание: Чтобы изменить номер 1 В этом хИндекс = 1 на другой номер, который вы хотите использовать. Например, если вы хотите переместить второе слово, измените цифру 1 на 2.

Sub splitlastword()
'Updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    Dim xAddress As String
    Dim xRg As Range
    Dim I As Integer
    Dim arrSplit() As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selec the text cells:", "Kutools for Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
       MsgBox "Only one column in the seleted range", vbInformation, "Kutools for Excel"
       Exit Sub
    End If
    delimiter = " "
    xIndex = 1
    For Each xCell In xRg
        xStr = Trim(xCell.Value)
        If xStr <> "" Then
            arrSplit = Split(xStr, delimiter)
            If UBound(arrSplit, 1) >= xIndex Then
                xCell.Offset(0, 1) = arrSplit(xIndex - 1)
                ystr = ""
                For I = 0 To UBound(arrSplit, 1)
                    If xIndex - 1 <> I Then
                        ystr = ystr + arrSplit(I) + delimiter
                    End If
                Next
                ystr = Left(ystr, Len(ystr) - Len(delimiter))
                xCell.Value = ystr
            End If
        End If
    Next
End Sub

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL