Excel - Nur bestimmten Text in einer Zelle behalten

Problem

Ich habe eine Excel-Datei, deren Daten aus einer externen Quelle stammen (P6). Eine Zelle enthält viele Daten, von denen ich nur sehr spezifische benötige.

So sehen 5 Zellen aus:

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

Ich möchte die SEA- löschen und dann nur die Abkürzungen behalten, die mit MV beginnen.

Lösung

Annahmen

  • 1. Die Daten befinden sich in Spalte A
  • 2. Das Ergebnis ist in Spalte B anzuzeigen

 Sub extractMV () Dim lMaxRow As Long Dim rowIdx As Long Dim inString As String Dim outString As String Dim sTemp As String Dim iLoc As Integer lMaxRows = Cells (Rows.Count, "A"). End (xlUp) .Row For rowIdx = 2 An lMaxRows inString = Trim (Zellen (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") Do While (iLoc> 0) sTemp = Trim ( Left (inString, iLoc - 1)) If (Left (sTemp, 6) = "SEA-MV") Then outString = outString & ", " & Mid (sTemp, 5) End If inString = Trim (Mid (inString, iLoc + 1)) iLoc = InStr (1, inString, ", ") Loop If (Left (inString, 6) = "SEA-MV") Dann outString = outString & ", " & Mid (inString, 5) End If If (Left (outString, 1) = ", ") Then outString = Trim (Mid (outString, 2)) End If Cells (rowIdx, "B") = outString Next End Sub 

Hinweis

Danke an rizvisa1 für diesen Tipp im Forum.

Vorherige Artikel Nächster Artikel

Top-Tipps