Удаление пробелов из текстовой строки в vba

#vba #excel #delimiter #trim

#vba #преуспеть #разделитель #обрезать

Вопрос:

Я пытаюсь отладить функцию в Excel, связанную с разделением таблиц, используя данные из импортированного текстового файла. У макроса возникает проблема, когда в имени есть пробел (см. Пример, вторая строка), поскольку таблица разделена пробелами. Код, который у меня сейчас есть, отлично работает для первой строки примера. Существует таблица с несколькими строками, похожими на эту.

Пример строк таблицы, импортированных из текстового файла

введите описание изображения здесь

Итак, проблема в том, что когда появляется что-то вроде «WT 03» с пробелом, программа выходит из строя. Я пробовал обрезку и поиск и замену, но они не работают, так как вся строка содержится в первом столбце и разделена пробелами. Я только хочу устранить все пробелы, обнаруженные в «Wt02» или «WT 03», когда они встречаются.

Будем признательны за любые предложения или рекомендации о том, где искать.

Комментарии:

1. «Код, который у меня сейчас есть, работает нормально» — это помогло бы, если бы вы опубликовали это

Ответ №1:

Есть ли у вас какой-либо контроль над форматом экспорта данных? Если это так, вам следует изменить его, чтобы использовать другой разделитель, например CSV («WT 03″,»68.44»,»91.13″…).

Если нет, вы можете попробовать разделить значения несколькими пробелами. Похоже, что между допустимыми полями есть как минимум 5-6 пробелов, поэтому попробуйте разделить их с помощью функции разделения следующим образом:

 Dim MyArr() as String
MyArr = Split(InputTextLine, "     ")
  

А затем обрежьте каждое из значений массива, чтобы удалить лишние пробелы.