Excel - Vedení pouze určitého textu v buňce

Problém

Mám soubor Excel, který obsahuje data uložená z externího zdroje (P6). Jedna buňka obsahuje mnoho dat, které potřebuji jen velmi specificky.

Jak vypadá 5 buněk:

 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 

Chtěl bych smazat SEA- a pak ponechat pouze zkratky, které začínají na MV.

Řešení

Předpoklady

  • 1. Údaje jsou ve sloupci A
  • 2. Výsledek se zobrazí ve sloupci B

 Sub extractMV () Dim lMaxRow jako dlouhý Dim rowIdx jako dlouhý Dim inString jako řetězec Dim outString jako řetězec Dim sTemp jako řetězec Dim iLoc As Integer lMaxRows = Buňky (Rows.Count, "A") End (xlUp) .Row Pro rowIdx =. 2 Do lMaxRows inString = Oříznutí (buňky (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") Do While (iLoc> 0) sTemp = Trim ( Vlevo (inString, iLoc - 1)) Pokud (vlevo (sTemp, 6) = "SEA-MV") Pak outString = outString & ", " & Mid (sTemp, 5) End If inString = Trim (Mid (inString, iLoc) + 1)) iLoc = InStr (1, inString, ", ") Loop If (vlevo (inString, 6) = "SEA-MV") Pak outString = outString & ", " & Mid (inString, 5) End If If (Vlevo (outString, 1) = ", ") Pak outString = Oříznutí (Mid (outString, 2)) End If Cells (rowIdx, "B") = outString Next End Sub 

Poznámka

Díky rizvisa1 za tento tip na fóru.

Předchozí Článek Následující Článek

Nejlepší Tipy