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 Както Дългата ред на DimIdx Дълго Dim inString Като String Dim outString Както String Dim sTemp As String Дим iLoc As Integer lMaxRows = Cells (Rows.Count, "A"). End (xlUp) .Row За rowIdx = 2 За lMaxRows inString = Trim (клетки (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") Докато (iLoc> 0) sTemp = Trim Отляво (inString, iLoc - 1)) Ако (наляво (sTemp, 6) = "SEA-MV") Тогава outString = outString & ", " & Mid (sTemp, 5) Край Ако inString = Trim (Mid (inString, iLoc) + 1)) iLoc = InStr (1, inString, ", ") Loop If (ляво (inString, 6) = "SEA-MV") Тогава outString = outString & ", " & Mid (inString, 5) приключва, ако (Ляво (outString, 1) = ", ") Тогава outString = Trim (Mid (outString, 2)) Край, ако клетките (rowIdx, "B") = outString Next End Sub
Забележка
Благодарение на rizvisa1 за този съвет на форума.