Удалить текст после второго дефиса

Я хочу удалить текст и дефис справа, в Excel.

Пример моей колонки:

Fresh Start Recovery, Inc. - Wayne FSA Property Mgmt - Danny Georgia Securing Svcs, Inc. - Katrina Georgia - SFFS - Joe & Roxana Greenwood - Lonnie Griffis Recovery, LLC - Tyler (5% WC) Hi Cap, Inc. - Doug 

Мне нужно, чтобы это выглядело так:

 Fresh Start Recovery, Inc. FSA Property Mgmt Georgia Securing Svcs, Inc. Georgia - SFFS Greenwood Griffis Recovery, LLC Hi Cap, Inc. 

У меня есть код, который удалит текст и дефис справа, но если у меня есть два дефиса, мне нужно его удалить второй, мой код удалит первый.

 Dim iPos As String Dim c As Range For Each c In Range("a1:a" & Range("a" & Rows.Count).End(xlUp).Row) iPos = InStr(1, c.Value, " - ") If iPos > 0 Then c.Value = Left(c.Value, iPos - 1) End If Next End Sub 

InStrRev находит последнее совпадение строк, оглядываясь назад.

Этот обновленный код

  • использует варианты массивов для скорости, а не для диапазонов
  • тесты для «-» затем используют InStrRev для поиска позиции последнего вхождения
  • использует функцию строки Left$ а не вариант Left

     Sub Test() Dim rng1 As Range Dim X Dim lngrow As Long Set rng1 = Range([a1], Cells(Rows.Count, "A").End(xlUp)) X = rng1.Value2 For lngrow = 1 To UBound(X) If InStr(X(lngrow, 1), " -") Then X(lngrow, 1) = Left$(X(lngrow, 1), InStrRev(X(lngrow, 1), " -", , vbBinaryCompare) - 1) Next rng1.Value2 = X End Sub 

Использование InStrRev вместо InStr

  • Excel. Создание текстовых файлов с именами файлов и текстом в двух столбцах.
  • VBA выводит данные текстового файла в excel с таблицей сопоставления
  • Передача других данных langauge в текстовый файл через excel VBA
  • Игнорирование пустых строк и пробелов в текстовых файлах при чтении
  • Экспортировать последний столбец каждого листа в текстовый файл
  • Чтение текстовых файлов и запись в excel в java
  • Преобразование текстовых данных в столбцы (excel)
  • Можно ли изменить выравнивание текста субтитров на кнопке с помощью vba?
  • Как преобразовать несколько текстовых файлов в один файл excel с одним ячеек между содержимым файла в C #?
  • Excel - добавьте текст в CellA1 после оценки содержимого A1
  • Импорт папки текстовых файлов для улучшения, изменяя формат текстовых файлов с помощью vba
  • Interesting Posts

    Отправка Excel в разные списки SharePoint на основе поля «Отдел»

    Как заменить конкретный символ в столбце A на значения в столбце B в Excel?

    Ошибка несоответствия типа # 13

    Не могу понять, что означает <> 0

    Условное форматирование Сравнение даты между двумя столбцами

    Перенос данных из файла xlsx на SQL-сервер с использованием NodeJS

    Создание диапазонов muliple на основе критериев в столбце

    Реализация Промежуточная функция Excel

    VBA Excel Нажмите на ярлык

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

    Как скопировать существующий рабочий лист и вставить его в одну рабочую книгу с помощью xlrd, xlwt и xlutils

    Метод «Диапазон» объекта «Неисправность рабочего листа»?

    Как создать формулу в заполнении диспетчера правил условного форматирования (зависит от того, к какой ячейке она применяется)

    Экспортировать строки Excel в виде записей в базу данных SQL Server, чтобы данные моего тега правильно переводились / соответствовали многим многим TEXT и TAGs tbl?

    Вопрос с Excel и вкладкой с разделителями

    Давайте будем гением компьютера.