2016-04-26 7 views
-2

enter image description hereExcel VBA: как искать и копировать значение определенного шаблона в больших текстах в столбце в другой столбец?

Как показано на рисунке выше, мне нужно, чтобы получить следующие значения шаблона, как, например, ТК AK15590 (ТК АК с последующей серией цифр, как показано) в ячейке B2. То же самое с остальными ячейками в столбце описания с использованием макроса vba в excel. Цените, если кто-нибудь может дать мне образец кода vba или некоторую информацию о том, как я могу это сделать.

+0

В зависимости от изменчивость ваших данных, вы, вероятно, могли бы либо использовать оператор «Like», либо, если для этого слишком сложно, «Регулярные выражения». Это не бесплатный сервис написания кода, но мы будем рады помочь вам с кодом, который вы пытаетесь разработать. Пожалуйста, прочитайте страницы HELP для получения информации о [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask); а также [Как указать пример] (http://stackoverflow.com/help/mcve) –

ответ

0

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

=IFERROR(MID(A2,FIND("TK AK",A2),FIND(" ",A2,FIND("TK AK",A2)+4)-FIND("TK AK",A2)), "ERROR MESSAGE HERE") 

Когда длина строки, которую вы хотите извлечь фиксирована (10 в данном случае), вы могли бы просто использовать это:

=IFERROR(MID(A2,FIND("TK AK",A2),10), "ERROR MESSAGE HERE") 
+0

Большое вам спасибо за помощь –