Excel - mantendo apenas texto específico em uma célula

Questão

Eu tenho um arquivo de excel que tem dados despejados de fonte externa (P6). Uma célula contém muitos dados dos quais eu só preciso de muito específico.

Aqui está o que 5 células se parece:

 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 

Eu gostaria de excluir o SEA e, em seguida, manter apenas as abreviações que começam com MV.

Solução

Suposições

  • 1. Os dados estão na coluna A
  • 2. O resultado deve ser mostrado na coluna B

 Sub extratoMV () Dim lMaxRow Como Longo Dim rowIdx Como Long Dim inString Como String Dim outString Como String Dim sTemp As String Dim iLoc Como Integer lMaxRows = Células (Rows.Count, "A"). End (xlUp) .Row Para rowIdx = 2 Para lMaxRows inString = Trim (Células (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") Do While (iLoc> 0) sTemp = Trim ( Esquerda (inString, iLoc - 1)) Se (Esquerda (sTemp, 6) = "SEA-MV") Então outString = outString & ", " & Meados (sTemp, 5) End If inString = Trim (Meados (inString, iLoc + 1)) iLoc = InStr (1, inString, ", ") Loop Se (Esquerda (inString, 6) = "SEA-MV") Então outString = outString & ", " & Mid (inString, 5) End If Se (Left (outString, 1) = ", ") Then outString = Trim (Mid (outString, 2)) End If Células (rowIdx, "B") = outString Próximo End Sub 

Nota

Graças a rizvisa1 por esta dica no fórum.

Artigo Anterior Próximo Artigo

Principais Dicas