Vba удаление символов из строки

У меня есть несколько строк, мне нужно объединить с символами "@ #" в конце каждого значения ячейки, я могу добавить эти символы, но в конце он печатает дополнительные символы (@ #)

Мой файл Excel: из этого файла Excel мне нужно объединить значения по @ # для каждой ячейки и вставить в блокнот

Мой вывод должен быть: (фактический и ожидаемый)

3 ответа

Вы можете заменить свою строку:

который будет продолжать применять замену, пока в этом нет смысла (т.е. длина не меняется)

РЕДАКТИРОВАТЬ

Извините, что изменил принятый ответ, но я заметил, что вы можете сохранить экземпляры @ # @ #, если они встречаются не в конце строки, а в другом месте. Если вы это сделаете, то будет лучше следующее, так как оно усекает только самые правые символы:

1 Rob [2012-02-07 16:56:00]

У меня есть следующая функция, но я хочу, чтобы она делала обратное, например, возвращать плохие символы, а не те, которые я указываю

Эта функция позволяет указать две строки. Строка, которую вы хотите проанализировать, и строку символов, которую вы хотите сохранить из первой указанной строки — Измененная строка возвращается

4 ответа

Просто добавьте = 0 :

Функция InStr возвращает 0, если совпадение не найдено.

1 assylias [2012-02-07 17:29:00]

Вы можете использовать функцию split, как в примере ниже.

0 minnow [2012-02-07 18:01:00]

Другими словами, вы хотите вырезать (удалить) символы из исходной строки? Если это так, вот ответ на этот вопрос:

0 Rob [2012-02-07 17:55:00]

Также просто написал это тоже — думал, что я бы разделил просто incase

Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, M >

Функция Left

Эта функция извлекает левую часть строки с заданным количеством символов.

Читайте также:  Wacom intuos cth 680 драйвер

Синтаксис функции Left:

Left(строка, длина)

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
  • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

Функция Mid

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

Синтаксис функции Mid:

Mid(строка, начало, [длина])

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
  • начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
  • длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.

Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.

Функция Right

Эта функция извлекает правую часть строки с заданным количеством символов.

Синтаксис функции Right:

Right(строка, длина)

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
  • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

Пример

В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».

На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *