Excel - Зберігання тільки певного тексту в комірці

Проблема

У мене є файл Excel, який має дані, викинуті з зовнішнього джерела (P6). Одна клітина містить безліч даних, про які мені потрібні лише специфічні.

Ось як виглядає 5 комірок:

 SEA-MVRV, SEA-RAD SEA-MVAOV, SEA-OPSSRO SEA-MVAOV1 SEA-CRNPOLAR, SEA-NPCOE, SEA-MMJBC, SEA-RAD, SEA-MVMM SEA-CRNPOLAR, SEA-MMJBC, SEA-RAD, SEA- NPCOE, SEA-MVMM 

Я хотів би видалити SEA-а потім зберегти тільки абревіатури, які починаються з MV.

Рішення

Припущення

  • 1. Дані наведені в колонці А
  • 2. Результат повинен бути показаний у колонці В

 Sub extractMV () Dim lMaxRow Як довгий рядок Dim Так як довго Dim inString Як ​​рядок Dim outString Як ​​рядок Dim sTemp як рядок Дим iLoc як ціле lMaxRows = Cells (Rows.Count, "A"). End (xlUp) .Row Для rowIdx = 2 Для lMaxRows inString = Trim (осередки (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") DoT (iLoc> 0) sTemp = Trim Ліворуч (inString, iLoc-1)) Якщо (ліворуч (sTemp, 6) = "SEA-MV") Тоді outString = outString & ", " & Середній (sTemp, 5) Кінець Якщо inString = Trim (Mid (inString, iLoc) + 1)) iLoc = InStr (1, inString, ", ") Петля If (ліворуч (inString, 6) = "SEA-MV") Потім outString = outString & ", " & Mid (inString, 5) закінчується, якщо (Ліворуч (outString, 1) = ", ") Тоді outString = Trim (Mid (outString, 2)) Кінець, якщо клітинки (rowIdx, "B") = outString Наступний кінець Sub 

Примітка

Завдяки rizvisa1 за цей відгук на форумі.

Попередня Стаття Наступна Стаття

Кращі Поради