Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/получить определенную часть часть текста в переменную - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » получить определенную часть часть текста в переменную (Макросы/Sub)
получить определенную часть часть текста в переменную
ovechkin1973 Дата: Воскресенье, 18.02.2018, 09:06 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Всем привет. Есть текст в ячейке - его часть есть необходимость получить в переменную, чтобы можно было дальше использовать. Нужно получить в одну переменную первое слово, в другую - третье. Текст в первой строке разделен одним пробелом, во второй запятой и пробелом. В третьей строке - разные комбинации пробелов и запятой. Можно для образца код написать для этих трех вариантов, чтобы слова первые и третье в соседние столбцы перемещались?
К сообщению приложен файл: _-____.xlsm (42.5 Kb)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
СообщениеВсем привет. Есть текст в ячейке - его часть есть необходимость получить в переменную, чтобы можно было дальше использовать. Нужно получить в одну переменную первое слово, в другую - третье. Текст в первой строке разделен одним пробелом, во второй запятой и пробелом. В третьей строке - разные комбинации пробелов и запятой. Можно для образца код написать для этих трех вариантов, чтобы слова первые и третье в соседние столбцы перемещались?

Автор - ovechkin1973
Дата добавления - 18.02.2018 в 09:06
Karataev Дата: Воскресенье, 18.02.2018, 09:38 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
 
Ответить
Сообщение

Автор - Karataev
Дата добавления - 18.02.2018 в 09:38
ovechkin1973 Дата: Воскресенье, 18.02.2018, 10:13 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
уважаемый Karataev, круто! Работает, но моих знаний не хватает понять, как код работает. В режиме отладчика запускал и пытался разбираться - как понял код описал (весь не смог), но чувствую, что не верно.


Можно для одной ячейки B2 получить эти значения способом (кодом) проще (для понимания)- Ваш код правильный и способен обрабатывать большое количество значений очень быстро, но я в своих файлах пока не в состоянии его применять. Рановато с моими знаниями


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.

Сообщение отредактировал ovechkin1973 - Воскресенье, 18.02.2018, 10:14
 
Ответить
Сообщениеуважаемый Karataev, круто! Работает, но моих знаний не хватает понять, как код работает. В режиме отладчика запускал и пытался разбираться - как понял код описал (весь не смог), но чувствую, что не верно.


Можно для одной ячейки B2 получить эти значения способом (кодом) проще (для понимания)- Ваш код правильный и способен обрабатывать большое количество значений очень быстро, но я в своих файлах пока не в состоянии его применять. Рановато с моими знаниями

Автор - ovechkin1973
Дата добавления - 18.02.2018 в 10:13
Karataev Дата: Воскресенье, 18.02.2018, 10:16 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Вот код для второй строки:


Сообщение отредактировал Karataev - Воскресенье, 18.02.2018, 14:25
 
Ответить
СообщениеВот код для второй строки:

Автор - Karataev
Дата добавления - 18.02.2018 в 10:16
ovechkin1973 Дата: Воскресенье, 18.02.2018, 14:14 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Вот код для второй строки

Karataev, Благодарю! Этот код понятнее, хотя не до конца (с этим буду бороться) - но приспособить по свои задачи вроде получается..


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Вот код для второй строки

Karataev, Благодарю! Этот код понятнее, хотя не до конца (с этим буду бороться) - но приспособить по свои задачи вроде получается..

Автор - ovechkin1973
Дата добавления - 18.02.2018 в 14:14
Karataev Дата: Воскресенье, 18.02.2018, 14:23 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Добавил комментарии в макрос (пост 4).
Смысл такой. Меняем запятые на пробелы, чтобы не стало запятых, чтобы запятые не мешали (по сути удаляем запятые, но не просто удаляем, а заменяем на пробелы, вдруг между первым и вторым словом будет только запятая без пробела). Затем удаление лишних пробелов, чтобы можно было разбить на части по пробелам. В итоге имеем текст, разбитый на части в переменной "var". Нумерация элементов в массиве "var" начинается с нуля, а не с единицы, как в повседневной жизни, это такая особенность у программистов - им почему-то удобнее считать с нуля (я сам не программист, поэтому не понимаю такого удобства).
 
Ответить
СообщениеДобавил комментарии в макрос (пост 4).
Смысл такой. Меняем запятые на пробелы, чтобы не стало запятых, чтобы запятые не мешали (по сути удаляем запятые, но не просто удаляем, а заменяем на пробелы, вдруг между первым и вторым словом будет только запятая без пробела). Затем удаление лишних пробелов, чтобы можно было разбить на части по пробелам. В итоге имеем текст, разбитый на части в переменной "var". Нумерация элементов в массиве "var" начинается с нуля, а не с единицы, как в повседневной жизни, это такая особенность у программистов - им почему-то удобнее считать с нуля (я сам не программист, поэтому не понимаю такого удобства).

Автор - Karataev
Дата добавления - 18.02.2018 в 14:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » получить определенную часть часть текста в переменную (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!